wait4 - Wait for an arbitrary process
wait4 allows its user to wait for the termination of an arbitrary
process specified by its PID. It works as the standard shell command
wait, but is not limited to waiting to the child processes of the
On GNU/Linux systems where the Netlink interface is available, wait4 is
directly informed by the kernel as soon as the target process is
terminated, and the exit code of that process is used as the exit code
of wait4 itself. On other systems, wait4 acts by pretending to send a
signal to the target process every second; in that case, the exit code
is always 0, as there is no way to retrieve the exit code of the target
When using Netlink, wait4 must be run as setuid root, as only a
privileged process can bind to an AF_NETLINK address; root privileges
are dropped immediately after the bind(2) call.
BSD kevent support
Starting from version 0.3.0, wait4 should be able to make use of the
kevent(2) call found on BSD systems, thus avoiding the signal-based
fallback method on those systems. This support has currently been
tested on NetBSD 6.0.1.
wait4 is distributed under the terms of the GNU General Public License,
version 3 or higher. The full license is included in the COPYING file
of the source distribution.
Homepage and contact
The project homepage, where release tarballs may be found, is located at
<https://incenp.org/dvlpt/wait4.html>. The latest source code is
available at <https://git.incenp.org/damien/wait4>.