GETPID(2) System Calls GETPID(2)


NAME


getpid, getpgrp, getppid, getpgid - get process, process group, and
parent process IDs

SYNOPSIS


#include <unistd.h>

pid_t getpid(void);


pid_t getpgrp(void);


pid_t getppid(void);


pid_t getpgid(pid_t pid);


DESCRIPTION


The getpid() function returns the process ID of the calling process.


The getpgrp() function returns the process group ID of the calling
process.


The getppid() function returns the parent process ID of the calling
process.


The getpgid() function returns the process group ID of the process whose
process ID is equal to pid, or the process group ID of the calling
process, if pid is equal to 0.

RETURN VALUES


The getpid(), getpgrp(), and getppid() functions are always successful
and no return value is reserved to indicate an error.


Upon successful completion, getpgid() returns the process group ID.
Otherwise, getpgid() returns (pid_t)-1 and sets errno to indicate the
error.

ERRORS


The getpgid() function will fail if:

EPERM
The process whose process ID is equal to pid is not in the same
session as the calling process, and the implementation does not
allow access to the process group ID of that process from the
calling process.


ESRCH
There is no process with a process ID equal to pid.


The getpgid() function may fail if:

EINVAL
The value of the pid argument is invalid.


ATTRIBUTES


See attributes(5) for descriptions of the following attributes:


+--------------------+-------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-------------------+
|Interface Stability | Committed |
+--------------------+-------------------+
|MT-Level | Async-Signal-Safe |
+--------------------+-------------------+
|Standard | See standards(5). |
+--------------------+-------------------+

SEE ALSO


Intro(2), exec(2), fork(2), getsid(2), setpgid(2), setpgrp(2), setsid(2),
signal(3C), attributes(5), standards(5)


January 27, 2009 GETPID(2)