GETPID(2) System Calls GETPID(2)

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

#include <unistd.h>
pid_t getpid(void);

pid_t getpgrp(void);

pid_t getppid(void);

pid_t getpgid(pid_t pid);

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.

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.

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.

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

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

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

January 27, 2009 OmniOS