재부팅하지 않고 시작된 OS X를 다시 시작하는 방법은 무엇입니까?


14

Zotero / Firefox를 실행할 때 종종 충돌하고 좀비 프로세스가 남습니다. 이 후 Zotero 또는 Firefox의 새 인스턴스를 열 수 없습니다. 재부팅하지 않고 좀비 프로세스를 제거하고 싶습니다 <pid>. 좀비 프로세스의 경우

$ ps -p <pid> -o ppid=

나에게 <parent_pid>그리고

ps aux | awk -v PID=<parent_pid> '$2 == PID {print $0}'

부모 프로세스가 /sbin/launchd사용자를위한 것임을 알려줍니다 crippledlambda.

시스템을 종료하지 않고 다시 시작할 수있는 방법이 있습니까?

sudo kill -1 <parent_pid>

아무것도하지 않습니다. 나는 이것을 스크립트로 작성하고 그것을 실행하려고 시도했다 sudo.

for i in `launchctl list | grep launchd | awk -v PID=<parent_pid> '$1==PID { print $NF }'`; do `launchctl stop $i && launchctl start $i` ; done

그리고 이것은 분명히 (?) 응답하지 않는 회색 화면으로 남겨 두므로 어쨌든 재부팅해야합니다. 귀하의 제안에 미리 감사드립니다.


왜 남은 프로세스 대신에 런칭을 시작합니까? launchd는 사용자 세션의 핵심 부분입니다. 다시 시작할 수 있어도 새 인스턴스는 다른 모든 프로세스 의 부모가 아닙니다 . 파인더, 도크 등
Gordon Davisson

@ Gordon, 당신은 좀비 프로세스를 죽일 수 없으므로 내가 빠진 것이 아니라면 부모를 따라 가야합니다.
hatmatrix

실제 좀비 (예 : 종료되었지만 종료 상태를 읽지 않은 프로세스)입니까? 만약 그렇다면, launchd자녀의 출구 상태를 항상 즉시 읽어야하기 때문에 훨씬 더 깊은 것이 잘못 되었습니다. 그들이 진짜 좀비가 아니라면, 당신은 그들을 죽여야합니다. 어느 경우 든 살해 launchd는 해결하는 것보다 더 많은 문제를 일으킬 것입니다.
Gordon Davisson

답변:


17

시작 데몬을 중지하고 시작하는 올바른 방법은 launchctl unload 입니다.

예를 들면 다음과 같습니다.

launchctlunload 하위 명령을 사용하여 시작 데몬 서비스를 중지 할 수 있습니다 .

$ sudo launchctl unload /System/Library/LaunchDaemons/<daemon name>.plist

비활성화되거나 중지 된 시작 데몬을 시작하려면

$ sudo launchctl load /System/Library/LaunchDaemons/<daemon name>.plist

★ 데몬 시작 데몬을 우연히 비활성화하는 데주의하십시오-특히 공식 애플 데몬; 안전 모드에서 시작하여 수동으로 다시 활성화 할 때까지 시스템을 부팅 할 수 없게 만들 수 있습니다. 경험했던 것처럼 시스템을 잠재적으로 죽일 수 있기 때문에 일반적인 프로세스와 같은 launchctl을 죽이지 않습니다 .

> launchctl에 대한 자세한 정보는 여기를 참조하십시오 . (Apple launchctl 매뉴얼 페이지)


미안 해요 com.apple.bsd.launchdadd.plist? 나는 launchd정확하게 보지 못한다 . 그리고 경고 주셔서 감사합니다 ...
hatmatrix

나중에 참조 할 수 있도록 이러한 명령도 작동합니다 scrun simctl spawn <sim_id> sudo launchctl unload …. plist 파일은 다음과 같습니다$(xcode-select -p)/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/LaunchDaemons/
Leo Natan

3

시작된 매뉴얼 페이지에서 :

직접 시작할 수 없습니다.

따라서 당신이 그것을 멈출 수 있다고해도 당신은 그것을 시작할 수 없을 것이므로 답은 방법이 없다는 것입니다.


1
왜 공감해야합니까? 내 게시물이 묻는 질문에 올바르게 답변합니다. 다른 게시물은 더 건설적이지만 실제로 게시물의 제목에 따라 실제 질문에 대답하지 못합니다!
ostergaard

다른 게시물은 질문에 대답합니다.
DavidPostill

2
아니, 그것은 시작되지 않은 데몬을 다시 시작하는 방법을 알려줍니다.
ostergaard

3
lol-그리고 그것은 태도가 더 이상 중요하지 않다는 것이지, SO의 품질 저하가 느리다는 것을 설명합니다. 새해 복 많이 받으세요!
ostergaard

1
댓글이 너무 아쉽습니다. 이 답변은 정확할뿐만 아니라 다른 답변은 실제로 질문을 전혀 다루지 못합니다. 이것은 시작된 데몬에 대한 것이 아니라 응답하지 않는 프로세스가 강제로 종료 된 경우 시작된 데몬에 의해 상속 된 좀비 프로세스에 관한 것입니다. 나는 같은 문제가 있고 피의 데몬이 없습니다. 시작 된 잘못된 동작을 트리거하는 브라우저이기 때문에 죽일 것입니다. "무엇이든지"로 답하면 대답이 유용한 것을 발견 한 동일한 사람들이 처음에 질문을 이해하지 못하고 그 정도가 더 나빠질 때 혈액이 끓게됩니다.
SaltwaterC
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.