ProcessStatus

data ProcessStatus
unix System.Posix.Process.Internals, unix System.Posix.Process.ByteString, unix System.Posix.Process
processStatusChanged :: Signal
unix System.Posix.Signals
getAnyProcessStatus :: Bool -> Bool -> IO (Maybe (ProcessID, ProcessStatus))
unix System.Posix.Process.ByteString, unix System.Posix.Process
getAnyProcessStatus blk stopped calls waitpid, returning Just (pid, tc), the ProcessID and ProcessStatus for any child process if a child process has exited, or Nothing if there are child processes but none have exited. If there are no child processes, then getAnyProcessStatus raises an isDoesNotExistError exception. If blk is False, then WNOHANG is set in the options for waitpid, otherwise not. If stopped is True, then WUNTRACED is set in the options for waitpid, otherwise not.
getGroupProcessStatus :: Bool -> Bool -> ProcessGroupID -> IO (Maybe (ProcessID, ProcessStatus))
unix System.Posix.Process.ByteString, unix System.Posix.Process
getGroupProcessStatus blk stopped pgid calls waitpid, returning Just (pid, tc), the ProcessID and ProcessStatus for any process in group pgid if one is available, or Nothing if there are child processes but none have exited. If there are no child processes, then getGroupProcessStatus raises an isDoesNotExistError exception. If blk is False, then WNOHANG is set in the options for waitpid, otherwise not. If stopped is True, then WUNTRACED is set in the options for waitpid, otherwise not.
getProcessStatus :: Bool -> Bool -> ProcessID -> IO (Maybe ProcessStatus)
unix System.Posix.Process.ByteString, unix System.Posix.Process
getProcessStatus blk stopped pid calls waitpid, returning Just tc, the ProcessStatus for process pid if it is available, Nothing otherwise. If blk is False, then WNOHANG is set in the options for waitpid, otherwise not. If stopped is True, then WUNTRACED is set in the options for waitpid, otherwise not.