Mac에서 좀비 프로세스를 종료하는 방법


13

터미널을 사용하여 Mac에서 좀비 프로세스를 종료하거나 부모 프로세스를 찾는 방법은 무엇입니까?



3
@soandos 주제가 좀비에 관한 것이 아니기 때문에 복제본이 아닙니다. kill좀비 IIRC 에는 신호가 작동 하지 않습니다 . 나는 전에 이런 일이 있었다.
Daniel Beck

부모 프로세스가 알려진 경우 일반적으로 좀비를 죽일 수 있지만 이것도 죽일 필요가 있습니다. 항상 즐거운 선택은 아닙니다. 따라서 다른 해결책이 있는지 궁금합니다.
eFrane

답변:


16

해킹 쏘의 말 :

안타깝게도 좀비를 죽이는 것은 부모 를 죽이는 것으로 보이며 부모가 / sbin / launched면 재부팅으로 만 죽일 수 있습니다.

죽이는 것은 아주 나쁜 생각 launchd이지만 HUP에 알려줄 수 있습니다.

시험 sudo kill -s HUP 1

즉 원인이됩니다 launchd다시 시작하지 않고 다시 초기화 할 수 있습니다. 이것은 과거에 저에게 효과적이었습니다 (좀비 항목 제거하기).


3

안타깝게도 좀비를 죽이는 것은 부모 를 죽이는 것으로 보이며 부모가 / sbin / launched면 재부팅으로 만 죽일 수 있습니다.

좀비가 Xcode를 사용하지 못하게하고 시뮬레이터를 중지 시켰 으며 로그 아웃 할 때 사라지지 않는 개인 / sbin / launchd에게 좀비를 건네고 있습니다 .

ps -xo pid, ppid, stat, command 는 두 번째 열에 부모 ID와 함께 프로세스를 보여줍니다.


1

좀비 프로세스가 이미 종료되어 종료 할 수 없습니다. 상위 프로세스가 종료되면 프로세스 테이블에서 자동으로 제거해야합니다.

그들은 당신의 기계를 느리게하지 않으며 당신은 그것들을 거기에 남겨 둘 수 있습니다 (그들은 프로세스 테이블의 항목 일뿐입니다).

최대 수의 프로세스가 있으며 (로 확인할 수 있음 sysctl kern.maxproc) 좀비 프로세스는 계산에 따라 프로세스를 줄입니다.

이 제한에 도달하면 새 프로세스를 만들 수 없으며 다시 부팅해야합니다.


"제거해야"하지만 항상 그런 것은 아닙니다. Xcode는 좀비 프로세스를 떠나는 것이 끔찍하며 Xcode가 죽거나 종료되거나 종료 된 경우에도 정리되지 않습니다.
JRG-Developer

@ JRG- 개발자 동의하지만 문제가되지 않습니다. 그들은 어떤 자원도 소비하지 않습니다.
Matteo

2
실제로 너무 많은 것이 만들어지고 포크가 새로운 프로세스를 시작할 수 없으며 재부팅해야 할 때 문제가됩니다.
Adam

2
충돌 한 프로세스를 다시 시작하고 다시 사용하려고 할 때 문제가되지만 다시 부팅하지 않고는 사용할 수 없습니다.
MarcusJ

4
앱이 해당 상태가되면 이전 항목이 지워질 때까지 다시 시작할 수 없습니다. 리소스를 사용하지 않지만 테이블이 오염되면 새 인스턴스가 시작되지 않으므로 재부팅 할 때까지 차단됩니다.
조지
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.