좀비 과정이란 무엇입니까?

좀비 프로세스는 실행이 완료 되었음에도 불구하고 프로세스 테이블 레코드를 유지하는 컴퓨터 프로그램의 인스턴스입니다. 이와 같은 프로세스는 일반적으로 아동 프로세스를 처리하는 방식으로 인해 UNIX® 및 기타 유사한 운영 체제와 관련이 있습니다. 자식 프로세스가 실행을 마치면 부모는 일반적으로 프로세스 테이블에서이를 제거 할 책임이 있습니다. 킬 명령으로 좀비 프로세스를 직접 제거 할 수는 없지만, 운영자가 신호 자식 (SIGCHLD) 알림을 사용하는 경우 부모가 종종 제거 할 수 있습니다. 이것에 실패하면, 좀비 과정은 부모를 죽임으로써 간접적으로 제거 될 수 있습니다.

좀비 과정은 살아있는 죽은자를 언급하는 은유 적 설명 용어입니다. UNIX® 및 유사한 운영 체제의 소진 프로세스는 더 이상 의도 한 기능을 수행하지 않더라도 프로세스 테이블 존재를 유지한다는 점에서 좀비와 유사한 것으로 볼 수 있습니다. 프로세스가 끝나면 eXecuting은 때때로 죽은 것으로 알려져 있으며, 운영 체제가 프로세스 테이블 할당을 복구하는 수단은 리핑으로 알려질 수 있습니다. 좀비의 부모 과정은 기술적으로 자녀를 거두어야하지만 항상 일어나는 것은 아닙니다.

좀비 프로세스의 존재가 의도적이거나 심지어는 원하는 경우가 있습니다. 자식 프로세스가 실행을 중단 한 후에는 부모가 나중에 동일한 프로그램의 다른 인스턴스를 실행해야 할 수도 있습니다. 좀비가 프로세스 테이블에서 제거되지 않은 경우, 새 자녀는 노인과 동일한 신분증 (ID)을 할당하지 않습니다. 특정 프로그램은 이런 종류의 차별화로부터 혜택을 받거나 요구할 수도 있습니다.

부모 프로세스가 담당하는 좀비를 거부하기 위해 대기 명령을 실행하지 않으면 문제를 강제 할 수 있습니다. 이것은 일반적으로 Kill Command를 통해 수행되고 Sigchld를 보내는 것입니다.부모 과정에 신호를 보냅니다. 모든 것이 제대로 작동하는 경우이 신호를받는 부모 프로세스는 좀비 어린이를 거두어 ID 및 프로세스 테이블 위치를 재사용 할 수 있어야합니다.

특정 상황에서 부모 프로세스는 Sigchld 신호를 무시할 수 있습니다. 이런 일이 발생하고 운영자가 여전히 프로세스 테이블을 지우기를 원하는 경우, 부모 프로세스가 죽을 수 있습니다. 부모 프로세스가 만든 좀비는 INIT 프로세스에 어린이로 할당됩니다. Init은 주기적으로 어린이들의 대기 명령을 시작하기 때문에, 책임이있는 좀비는 결국 프로세스 테이블에서 제거됩니다.

다른 언어

이 문서가 도움이 되었나요? 피드백 감사드립니다 피드백 감사드립니다

어떻게 도와 드릴까요? 어떻게 도와 드릴까요?