개발자 끄적끄적
PID, PPID 본문
<PPID>
- Parent 프로세스 아이디
- 부모 프로세스 : 0번 프로세스를 제외한 모든 프로세스에는 자신을 생성하는 프로세스
- 부모 프로세스의 PID를 검색하려면 getppid() 함수를 사용
- 함수 원형
#include<sys/types.h>
#include<unistd.h>
pid_t getppid(void);
<PID>
- 프로세스 아이디
<PID 검색>
- 메인메모리에 올라가 있는 프로세스 아이디
- '파일'로 존재 -> (메인메모리 올라가면) '프로세스'로 존재
- PID는 0번부터 시작
- 0번 프로세스는 스케쥴러 : 프로세스에 CPU 시간을 할당하는 역할 수행 -> 각각의 프로세스에게 CPU에게 쓸 수 있는 시간을 할당\
- 커널의 일부분이므로 별도의 실행 파일은 없다
- 1번 프로세스 : init로 프로세스가 새로 생성될 때마다 PID와 중복되지 않은 번호가 할당
- 현재 프로세스의 PID를 검색하려면 getpid() 함수를 사용
<getpid() 함수의 특징>
- PID 2번 : 시스템 콜 함수
- 이 함수를 호출한 프로세스의 PID를 리턴
- 함수 원형
#include<sys/types.h>
#include<unistd.h>
pid_t getpid(void);
<PGID 검색 : getpgrp(2), getpgid(2)>
- pid : PGID를 구하려는 프로세스의 ID
- getpgrp() 함수의 특징
- 이 함수를 호출하는 프로세스가 속한 그룹의 PGID를 리턴
- getpgid() 함수는 pid 인자로 지정한 프로세스가 속한 그룹의 PGID를 리턴
- 만일 인자가 0이면 getpgid() 함수를 홏출한 프로세스의 PID를 리턴
- 함수원형
#include <sys/types.h>
#include <unistd.h>
pid_t getpgrp(void);
pid_t getpgid(pid_t pid);
'시스템 프로그래밍' 카테고리의 다른 글
시스템 프로그래밍 정리(2023.9.18) (0) | 2023.09.25 |
---|