名前でデーモンをエレガントに殺す方法は?

名前でデーモンをエレガントに殺す方法は?

私は通常プロセスを殺しますkillall

killall markdoc

ただし、このコマンドがプロセスを正常に終了するかどうかはわかりません。コマンドは正常に終了しますか?そうでなければ、どのようにプロセスとその名前を正常に終了できますか?

ベストアンサー1

あなたの質問は不明です。タイトルではデーモンプロセスについて話しますが、テキストでは一般的なプロセスについてのみ話します。

デーモンがこれを停止する具体的な方法があります。たとえば、Debian では次のようになります。

    service daemon-name stop

または

    /etc/init.d/daemon-name stop

他のディストリビューション/オペレーティングシステムで使用される他のinitscript標準にも同様の構文があります。

デーモン以外のプロセスを終了するには何らかの方法で制御できないと仮定し、基本的に(15)シグナルを使用するのと同じようにkillall安全に使用できます。 。やめる。同じ名前のプロセスが複数ある場合、これらのユーティリティは複数のプロセスを終了できることを検討してください。pkillSIGTERM

SIGINTそれでも問題が解決しない場合は、(2)、SIGHUP(1)、最後にSIGKILL(9)を試してください。アプリケーションは最後の信号をキャプチャできないため、クリーンアップを実行できません。したがって、このような状況はできるだけ避けるべきです。

pkill両方とも、次のようなkillall形式の信号引数を受け入れます。-NAME

pkill -INT process-name

おすすめ記事