[리눅스 시스템 프로그래밍] 7.5 프로세스 식별하기, getpid, getppid

리눅스에서는 프로세스를 구분하기 위해 프로세스 ID가 있어요. 그리고 getpid 시스템 호출로 자신의 프로세스 ID를 확인할 수 있고 getppid 호출로 부모 프로세스 ID를 확인할 수 있습니다.

#include <sys/types.h >

#include <unistd.h>

pid_t getpid(void);

pid_t getppid(void);

 
다음은 자신의 프로세스 ID와 부모 프로세스 ID를 출력하는 예제 코드입니다.

/**********************************************************************
* ex_pid.c                                                            *
* exmple source – print process id and parent process id              *
**********************************************************************/

#include <stdio.h>
#include <unistd.h>

int main()
{
    printf("pid: %d\n",getpid());
    printf("ppid: %d\n",getppid());
    return 0;
}
[그림 7.8] ex_pid 실행 화면
[그림 7.8] ex_pid 실행 화면

 실행 결과를 보시면 명령행 쉘에서 프로그램을 가동하면 부모 프로세스가 쉘임을 알 수 있어요.