카니발의 좀비

카니발의 좀비

Bash는 좀비를 생성하지 않는 것 같습니다. 프로세스가 종료된 직후에 수확되는 것처럼 보입니다.

Bash가 좀비를 생성하도록 할 수 있나요?


내가 묻는 이유:

kill -9자식 프로세스를 안전하게 종료하거나 , 한동안 종료되지 않은 경우 안전하게 종료하고 싶지만, 내 자식 프로세스가 아닌 프로세스를 실수로 종료하고 싶지는 않습니다. 좀비 프로세스는 일반적으로 경쟁 조건으로부터 매우 간단하고 안전합니다.

답변1

좀비 프로세스를 생성합니다:

$ (sleep 1 & exec /bin/sleep 10)

이는 프로세스가 종료되었음을 알지 못하여 sleep 110 초 동안 좀비를 생성하는 실행 중인 셸을 대체합니다 ./bin/sleep 10sleep 1


좀비 프로세스를 죽여서 무엇을 기대하는지 잘 모르겠습니다. 좀비 프로세스는 이미 죽었으므로 죽일 수 없습니다.

실제로 좀비 프로세스 자체를 죽이는 것이 아니라 부모 프로세스를 죽이면 좀비 프로세스가 사라지게 할 수 있습니다.

답변2

그다지 흥미롭지 않은 답변:

$ (A=$BASHPID && ( kill -STOP $A ))

[1]+  Stopped                 ( A=$BASHPID && ( kill -STOP $A ) )

$ ps -C bash
  PID TTY          TIME CMD
29453 pts/0    00:00:00 bash
29593 pts/0    00:00:00 bash
29594 pts/0    00:00:00 bash <defunct>

관련 정보