wait
wait — waits for process exit status.
wait (taskid?, options?)
taskidA process ID number. A value of 0 indicates
any process.
optionsWait option WNOHANG or
WUNTRACED.
One of three possibilities:
A list of four items:
The process ID.
The process exit status
(WEXITSTATUS), or nil.
A termination signal (WTERMSIG) if
the process exited due to a signal, or
nil.
A stopped signal (WSTOPSIG) if the
process stopped due to a signal, or
nil.
t if the
WNOHANG option had been set and there was a
child with a status change.
nil if there
was a failure due to error.
This function combines and simplifies the C functions
wait and waitpid in a single
function. If taskid is provided, then the function
acts as waitpid, and will not return until the given
child task has died.
The WNOHANG option allows the calling process to
continue if the status of specified child process is not immediately
available. The WUNTRACED option allows the calling
process to return if the child process has stopped and its status has not
been reported. Both of these can be specified using the
OR (||) operator.
Process 1:
Gamma>child = fork();9089Gamma>0Gamma>if (child > 0) wait(); else exit_program(5);
Process 2:
Gamma>kill(9089,14);tGamma>
Process 1:
(9089 nil 14 nil)
Gamma>