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
そして、これは明らかに(?)応答しない灰色の画面を残すので、とにかく再起動する必要があります。あなたの提案を事前に感謝します。
起動デーモンを停止および開始する適切な方法はlaunchctl unloadです。
例えば:
launchctlの unload サブコマンドを使用して、起動デーモンサービスを停止できます。
$ Sudo launchctl unload /System/Library/LaunchDaemons/<daemon name>.plist
無効または停止した起動デーモンを開始するには:
$ Sudo launchctl load /System/Library/LaunchDaemons/<daemon name>.plist
★起動デーモンを無計画に無効にする場合は注意してください。特に公式のApple ones;これは、セーフモードで起動して手動で再度有効にするまでシステムを起動できなくなる可能性があります。 launchctl通常のプロセスと同様、 kill のようにシステムが経験する可能性があるためです。
> launchctlの詳細はこちら 。 (Apple launchctl manページ)
Launchdのmanページから:
Launchdを直接呼び出すことはできません。
したがって、それを停止できたとしても、それを開始することはできないので、答えは方法がないということです。