리눅스 커널에서는 task list라는 process의 리스트를 doubly linked list로 저장한다.리스트의 각 element는 struct task_struct 타입의 process descriptor이며 특정 process에 대한 정보를 포함하고 있다. 리눅스에서 프로세스의 종료는 exit() 시스템 콜을 통해 프로세스가 사용하던 시스템 자원을 반납 한 후 Process Descriptor가 task list에서 제거함으로써 이루어진다. 자식프로세스의 경우 exit() 시스템 콜을 호출하면서 종료되며 자신의 모든 자원을 해제 시킨다. 그리고 자식 프로세스의 Process Descriptor에는 exit status 상태 부모 프로세스가 자식프로세스의 종료 상태와 기타 정보를 읽기위해 wait..