直接回答せずにこの質問を投稿しました。重複した内容ならお詫び申し上げます。読みました。
kill -9
どちらかが悪いと言われましたが、kill -SIGKILL
なぜそうなのか理解できません。私がkill -9
何かをしてはいけないならしなければならないプロセスを終了したいですか?
答え1
SIGKILL
実行中のプロセスの下から敷物を取り出し、すぐにシャットダウンします。これは非常に単純なプログラムには適していますが、実際には「簡単な」プログラムはほとんどありません。
一見すると些細なプログラムでもfinally
、リソースハンドルのクローズ、一時ファイルの削除、ファイル内のデータのリフレッシュなど、終了前にクリーンアップしなければならないさまざまなトランザクション操作(Javaや他のプログラミング言語のブロック考え)を行います。メモリをディスクに。プログラムがいつこのような操作を実行するかを予測することはできません。
運が良ければ、送るときに何の問題も見つからないでしょうが、いつも幸運ではなくSIGKILL
、失われたものを回復するには遅すぎるまで何が間違っているのかわからないかもしれません。
を送信する必要はほとんどなく、SIGKILL
そうする前に他のすべてのオプションがすべて使用されていることを確認してください。ほとんどの場合、再起動(最終的にSIGKILL
sを間違ったプログラムに送信すること)がsを手動で送信するよりも安全ですSIGKILL
。私が経験したことが片手に挙げられるほどだと思います。必要1つを送ってくださいSIGKILL
(おそらくすべて私が作ったものです)。
通常、Ctrl+ C(フォアグラウンドプロセスに送信SIGINT
)またはSIGTERM
(「kill」など)を使用して、プロセスが実行中のタスクを停止して終了するように指示できます。
追加内容: