내 쉘의 하위 프로세스가 아닌 좀비 프로세스를 어떻게 얻을 수 있나요?

내 쉘의 하위 프로세스가 아닌 좀비 프로세스를 어떻게 얻을 수 있나요?

좀비 프로세스가 많은 서버가 있습니다. 거의 천. 가능하다면 이러한 프로세스를 수집하고 싶습니다. 상위 프로세스(1000개의 좀비를 모두 유발하는 하나의 상위 프로세스)가 대기 기능을 호출하지 않는 것 같기 때문입니다. Bash에는 대기 기능이 내장되어 있지만 이를 사용하여 좀비 중 하나를 수확하려고 하면 다음 오류가 발생합니다.

# wait 17517
bash: wait: pid 17517 is not a child of this shell

나는 루트이지만 별 차이가 없는 것 같습니다. 몇 가지 질문이 있습니다.

  1. 내 쉘의 하위 프로세스가 아닌 경우 좀비 프로세스를 얻을 수 있습니까?
  2. 그렇지 않다면 제가 할 수 있는 일이 없을까요? 부모님을 죽여야 할지 모르겠어
  3. 걱정해야 할까요? 부모에게 리소스 누출이 있고 가비지 수집 등이 없는 것 같습니다.

답변1

  1. 내 쉘의 하위 프로세스가 아닌 경우 좀비 프로세스를 얻을 수 있습니까?

아니 당신은 할 수 없습니다.

  1. 그렇지 않다면 제가 할 수 있는 일이 없을까요? 부모님을 죽여야 할지 모르겠어

상위 프로세스를 중지하고 exec무시된 쉘에서 다시 시작해 볼 수 있습니다 SIGCHLD. 무관심한 부모는 SIGCHLD좀비를 혼자 두지 않습니다.

  1. 걱정해야 할까요? 부모에게 리소스 누출이 있고 가비지 수집 등이 없는 것 같습니다.

좀비 인구가 증가하면 결국 새로운 프로세스를 포크할 수 없는 지점에 도달하게 됩니다.

관련 정보