- 새로운 프로세스는 기존 프로세스에서 fork() 함수를 호출해 생성한다.
- fork 함수에는 함수에는 함수를 호출한 프로세스를 복사하는 기능이 있다
- 이 때 기존 프로세스를 부모 프로세스, 복사된 프로세스를 자식 프로세스라고 한다
- 부모 프로세스에서 fork() 함수 호출시, 부모 프로세스는 자식 프로세스의 PID 값을, 자식 프로세스는 0을 반환한다
운영체제가 프로세스를 종료하는 경우
- 프로세스가 운영체제의 종료 서비스( exit() )를 호출해 정상 종료하는 경우
- 프로세스의 실행 시간 또는 특정 이벤트 발생을 기다리는 시간이 제한된 시간을 초과한 경우
- 프로세스가 파일 검색 또는 입출력에 실패하는 경우
- 오류가 발생하거나 메모리 부족 등이 발생하는 경우
부모 프로세스는 다음과 같은 경우에 자식 프로세스를 종료시킬 수 있다
- 자식 프로세스가 할당된 자원을 초과해 사용할 때
- 자식 프로세스에 할당된 작업이 없을 때
'CS' 카테고리의 다른 글
9. 멀티 프로세스와 멀티 스레드 (0) | 2024.03.12 |
---|---|
8. 운영체제 - 프로세스 상태도 (0) | 2024.03.05 |
6. 운영체제 - PCB(Process Control block) (0) | 2024.03.05 |
5. 운영체제 - 프로세스와 스레드 (0) | 2024.03.05 |
4. 운영체제 - 커널과 시스템 콜 (1) | 2024.03.04 |