Blame examples/fork2.lua

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