Linux::Pid - Get the native PID and the PPID on Linux
print Linux::Pid::getpid(), "\t", Linux::Pid::getppid(), "\n";
use Linux::Pid qw(getpid getppid);
print getpid(), "\t", getppid(), "\n";
Why should one use a module to get the PID and the PPID of a process where there are the $$ variable and the getppid() builtin ? (Not mentioning the equivalent POSIX::getpid() and POSIX::getppid() functions.)
In fact, this is useful on Linux, with multithreaded programs. Linux' C library, using the linux thread model, returns different values of the PID and the PPID from different threads. (Other thread models such as NPTL don't have the same behaviour). This module forces perl to call the underlying C functions getpid() and getppid().
Copyright (c) 2002-2007 Rafael Garcia-Suarez. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install Linux::Pid, copy and paste the appropriate command in to your terminal.
perl -MCPAN -e shell
For more information on module installation, please visit the detailed CPAN module installation guide.