NAME
Linux::FD::Pid - PID file descriptors
VERSION
version 0.007
SYNOPSIS
use Linux::FD::Pid
my $fh = Linux::FD::Pid->new($pid, @flags)
DESCRIPTION
This creates a pidfd filehandle that can be used to await the termination of a process. This provides an alternative to using SIGCHLD, and has the advantage that the file descriptor may be monitored by select, poll, and epoll.
METHODS
new($pid)
This creates a new filehandle object for the designated $pid. @flags is an optional list of flags, currently limited to 'non-blocking'.
send($signal)
This sends a signal to the process. The signal may be given as either a signal number (e.g. POSIX::SIGUSR1) or as a signal name (e.g. 'USR1').
wait($flags = WEXITED)
This waits for the process to end and returns its return status. It's only allowed to be child of the current process. It takes a flags argument like `waitpid`, the constants for this from the POSIX module can be used for this. If either the pidfd is non-blocking or WNOHANG is part of $flag and the process isn't then ready undef is returned instead.
get_handle($fd)
This duplicates a handle from another process. Permission to duplicate another process's file descriptor is governed by a ptrace access mode PTRACE_MODE_ATTACH_REALCREDS check.
AUTHOR
Leon Timmermans <leont@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2019 by Leon Timmermans.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.