다른 명령
새 문서: 분류:컴퓨터 시스템 |
편집 요약 없음 |
||
| 1번째 줄: | 1번째 줄: | ||
==개요== | |||
해당 문서는 Process(프로세스)를 fork()함수를 통해 생성하고 관리하는 방법에 대해서 서술한다. | |||
==Process ID== | |||
Process ID(PID)란 각각의 프로세스가 가지는 고유한 음수가 아닌 숫자를 의미한다. | |||
PID를 얻는 방법은 다음 두가지가 있다. | |||
# pid_t getpid(void);: 현재 실행 중인 프로세스의 PID를 반환 | |||
# pid_t getppid(void); 현재 실행 중인 프로세스를 생성한 부모 프로세스의 PID를 반환 | |||
pid_t 자료형은 정수로 저장되고 PID를 저장하는 특수한 자료형이다. | |||
==Process의 세가지 상태== | |||
프로세스를 다음 세가지 상태 중 하나로 구분할 수 있다. | |||
# Running: CPU에 의해 실행되고 있거나 실행되기를 기다리고 있는 상태이며 결국 커널에 의해서 스케쥴링 된다. | |||
# Stopped: 프로세스의 실행이 suspend 되었으며 추가적인 시그널을 받기 전까지 스케쥴링되지 않음 | |||
#Terminated: 프로세스가 영구적으로 정리되어 리소스의 정리가 필요함 | |||
#* 다음 세가지 이유 중 하나로 종료됨 | |||
#*# default action이 terminate인 signal을 받았을 때 | |||
#*# main 루틴에서 return을 할 때 -> main에서 0을 반환하여 명시적으로 종료 | |||
#*# exit(): terminate 상태로 프로세스를 종료 | |||
#*#* 정상적인 종료 상태는 0이며, 에러가 일어나면 0이 아니다. | |||
==각주== | |||
[[분류:컴퓨터 시스템]] | [[분류:컴퓨터 시스템]] | ||
2025년 3월 11일 (화) 18:46 판
개요
해당 문서는 Process(프로세스)를 fork()함수를 통해 생성하고 관리하는 방법에 대해서 서술한다.
Process ID
Process ID(PID)란 각각의 프로세스가 가지는 고유한 음수가 아닌 숫자를 의미한다. PID를 얻는 방법은 다음 두가지가 있다.
- pid_t getpid(void);: 현재 실행 중인 프로세스의 PID를 반환
- pid_t getppid(void); 현재 실행 중인 프로세스를 생성한 부모 프로세스의 PID를 반환
pid_t 자료형은 정수로 저장되고 PID를 저장하는 특수한 자료형이다.
Process의 세가지 상태
프로세스를 다음 세가지 상태 중 하나로 구분할 수 있다.
- Running: CPU에 의해 실행되고 있거나 실행되기를 기다리고 있는 상태이며 결국 커널에 의해서 스케쥴링 된다.
- Stopped: 프로세스의 실행이 suspend 되었으며 추가적인 시그널을 받기 전까지 스케쥴링되지 않음
- Terminated: 프로세스가 영구적으로 정리되어 리소스의 정리가 필요함
- 다음 세가지 이유 중 하나로 종료됨
- default action이 terminate인 signal을 받았을 때
- main 루틴에서 return을 할 때 -> main에서 0을 반환하여 명시적으로 종료
- exit(): terminate 상태로 프로세스를 종료
- 정상적인 종료 상태는 0이며, 에러가 일어나면 0이 아니다.
- 다음 세가지 이유 중 하나로 종료됨