|
Packit |
437b5e |
require "posix"
|
|
Packit |
437b5e |
|
|
Packit |
437b5e |
print ("parent: my pid is: " .. posix.getpid ("pid"))
|
|
Packit |
437b5e |
|
|
Packit |
437b5e |
local pid = posix.fork ()
|
|
Packit |
437b5e |
|
|
Packit |
437b5e |
if pid == -1 then
|
|
Packit |
437b5e |
print ("parent: The fork failed.")
|
|
Packit |
437b5e |
elseif pid == 0 then
|
|
Packit |
437b5e |
print ("child: Hello World! I am pid: " .. posix.getpid ("pid"))
|
|
Packit |
437b5e |
print ("child: I'll sleep for 1 second ... ")
|
|
Packit |
437b5e |
posix.sleep (1)
|
|
Packit |
437b5e |
print ("child: Good bye");
|
|
Packit |
437b5e |
else
|
|
Packit |
437b5e |
print ("parent: While the child sleeps, I'm still running.")
|
|
Packit |
437b5e |
print ("parent: waiting for child (pid:" .. pid .. ") to die...")
|
|
Packit |
437b5e |
posix.wait (pid)
|
|
Packit |
437b5e |
print ("parent: child died, but I'm still alive.")
|
|
Packit |
437b5e |
print ("parent: Good bye")
|
|
Packit |
437b5e |
end
|