18 서비스 (데몬)를 만들려면을 호출하여 부모를 분기하고 종료하여 자식을 세션 리더로 setsid()만듭니다. 또한 왜 우리는 setsid ()를 사용합니까? 고아 프로세스는 init(모든 경우는 아니지만) 프로세스 에 의해 처리됩니다. 왜 stsid ()를 사용합니까? 신호 setsid()와 처리 SIGHUP신호 사이에 관계가 있습니까? daemon — 칼루 소스
13 부모를 죽이면 자식도 죽기 때문에 setsid ()를 사용합니다. 호출 프로세스가 프로세스 그룹 리더가 아닌 경우 새 세션을 작성합니다 . 호출 프로세스는 새 세션의 리더, 새 프로세스 그룹의 프로세스 그룹 리더이며 제어 터미널이 없습니다. 부모는 첫 번째 프로세스 그룹 리더입니다. 그룹을 죽이거나 세션 / 터미널을 죽이면 그룹이 종료됩니다. 따라서 리더를 바꾸고있는 동안 새 세션을 만듭니다. — ZN13 소스 1 사실이지만 제어 터미널을 잃어 버렸을 때 전송되는 것으로 알려짐에 따라 SIGHUP 신호로 실현됩니다 — Kalu 7 제어 터미널이 닫히면 부모는 SIGHUP을 얻습니다. 아이는 새 세션에 있기 때문에 SIGHUP을받지 못합니다. — ZN13