Pid(3) User Contributed Perl Documentation Pid(3)

Linux::Pid - Get the native PID and the PPID on Linux

use Linux::Pid;
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.

2023-07-26 perl v5.38.0