[prev in list] [next in list] [prev in thread] [next in thread] 

List:       freebsd-hackers
Subject:    Re: Get pid of child that has exited?
From:       Warner Losh <imp () bsdimp ! com>
Date:       2007-07-21 4:01:44
Message-ID: 20070720.220144.74739925.imp () bsdimp ! com
[Download RAW message or body]

> How does one get the pid if a child process that has exited? On other
> systems this is available in siginfo_t but si_pid seems to be 0. Is
> that normal?

wait4, wait3 and waitpid will all return it:

     If wait4(), wait3(), or waitpid() returns due to a stopped, continued, or
     terminated child process, the process ID of the child is returned to the
     calling process.  If there are no children not previously awaited, -1 is
     returned with errno set to ECHILD.  Otherwise, if WNOHANG is specified
     and there are no stopped, continued or exited children, 0 is returned.
     If an error is detected or a caught signal aborts the call, a value of -1
     is returned and errno is set to indicate the error.

I don't know if si_pid == 0 is normal.  I rarely use SIGCHILD to get
the status of a child process.

Warner
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org"
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic