Init must be called to initialise the module before invoking any other function.
Read reads a single wait record from file descriptor fd , which must be open on some process p 's wait file, and returns a tuple ( pid\f5, module\f5, status ) where pid is the process ID of a child of p that has exited, module is the name of the module that caused p to exit, and status is nil if pid ended without error or a status message otherwise. If reading the wait file resulted in end of file or error, pid is 0 (for end of file) or -1 on error (and status is the system error string for the error).
Monitor provides a channel interface to the wait file open on fd ; it allows, for instance, a process to use alt to exchange data with a process but also see it exit (for good or ill). It starts a monitor process that applies read to fd and sends each resulting tuple on a channel. It returns a tuple ( pid\f5, c ) where pid is the process ID of the monitor process (which can be used to kill it when done with it), and c is the channel on which the process sends each value it reads. The tuple has the format described above for read . The monitor process exits when the wait file fd yields end of file or error, after sending the corresponding tuple on c .
Parse takes a complete status string as read from a wait file and returns a tuple ( pid\f5, module\f5, status ) as described for read above.