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を強制終了するのはなぜですか?launchdはユーザーセッションの中核部分です。あなたはそれを再起動することができたとしても、新しいインスタンスは、すべての親ではないであろう他のそれは責任のプロセス...などのFinder、Dockの、のようなもの
—
ゴードンDavisson
@Gordon、あなたはゾンビプロセスを殺すことができないので、私が何かを逃さない限り、あなたは親の後に行かなければなりません。
—
-hatmatrix
それらは真のゾンビ(つまり、終了したが終了ステータスが読み取られていないプロセス)ですか?もしそうであれば、もっと
—
ゴードンデイヴィソン
launchd
すぐに何かが間違っている、なぜなら常にその子の終了ステータスをすぐに読むべきだから 彼らが本当にゾンビでないなら、あなたは彼らを殺すべきです。どちらの場合でも、殺すことlaunchd
は解決するよりも多くの問題を引き起こすでしょう。