Getpid And Getppid Function In C

The functions getpid and getppid are essential in C programming as they enable a process to obtain its unique process ID (PID) and its parent process ID (PPID) correspondingly. These functions, which adhere to POSIX standards, are commonly employed in Unix-like operating systems. Familiarity with getpid and getppid is fundamental for comprehending process management and hierarchy within a Unix environment.

getpid Method

The unique identifier assigned to each running process in the system is provided by the getpid function. It returns the Process ID (PID) of the calling process. Below is the syntax of the getpid function:

Syntax:

Example

#include <sys/types.h>
#include <unistd.h>

pid_tgetpid(void);
  • The data types required by the function are included in the file sys/types.h .
  • Access to numerous POSIX constants and types is available through h .
  • Example of getpid

Let's examine a basic situation to demonstrate the utilization of the getpid function:

Example

#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>

int main() {
pid_tpid = getpid();
printf("Process ID: %d\n", pid);
    return 0;
}

Output:

Output

Process ID: 1234

Explanation:

Every instance you run the program, the specific Process ID (for instance, 1234) will vary as it is contingent on the system and the state of active processes.

getppid method

The PID of the parent process of the current process can be obtained using the getppid function. This allows you to retrieve the PID of the process that spawned the existing process. The format of the getppid function is as shown below:

Syntax:

Example

#include <sys/types.h>
#include <unistd.h>

pid_tgetppid(void);

Example of getppid:

Let's examine a basic example to demonstrate the utilization of the getppid function:

Example

#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>

int main() {
pid_tppid = getppid();
printf("Parent Process ID: %d\n", ppid);
    return 0;
}

Output:

The result obtained from the getppid demonstration will appear similar to this:

Example

Parent Process ID: 5678

Explanation:

The specific PPID value (for example, 5678) will vary based on the system and the current parent process, similar to how the getpid function operates.

Conclusion

In summary, the C programming language's getpid and getppid functions play a vital role in process management on Unix-like operating systems. These functions provide essential information about a process's PID and PPID, allowing developers to understand the process hierarchy and carry out different process-related operations. By leveraging these functionalities effectively, programmers can enhance their ability to oversee and handle processes within their applications.

Input Required

This code uses input(). Please provide values below: