なぜ私たちは常にkill -9を使うのですか?

なぜ私たちは常にkill -9を使うのですか?

キルステップについて知りたいです。私たちは常にkill -9他の番号の代わりにこの番号を使用します。誰でも理由を説明できますか?

ベストアンサー1

私は実際にボブの答えが好きです。

私が使用する信号は次のとおりです。

  • -1-HUP) - プロセスを再開します。
  • -2( -INT) - プロセス終了
  • -9-KILL) - カーネルにプロセスを終了するように指示します。
  • -11-SEGV) - プログラムが深刻にクラッシュします。
  • -15( -TERM) - 基本的にプログラムを終了してください。

信号終了は送信されません-15-TERM)。

上記のすべてのシグナル名はSIGプレフィックス(たとえば-SIGKILL)で指定できますが、これはオプションです。

分割エラーが原因でプログラムが強制終了されることに注意してくださいkill -11。時にはこの方法を使用しますが、kill -9プロセスは終了しません。 (発行中kill -9またはkill -11進行中の場合、データが失われる可能性がありますのでご注意ください!)

ps -ef | grep <program>プロセスを確認するために使用されます。親プロセスがPID 1のプロセスを削除するには、kill -HUP 1またはkill -1 1(両方ともルートとして)を使用する必要があります。 PID 1はあなたのものです。システム初期化

したがって、プロセスを終了するにはkill <pid>(正確に同じkill -15 <pid>)実行し、失敗した場合は別のことを試みます(データが失われる可能性があります!)。kill -2 <pid>(実行に似ていますCtrl+c)失敗すると、kill -9 <pid>失敗kill -11 <pid>するとプロセスが実行されます。最もゾンビのプロセスがある可能性があるため、ps -ef | grep <program_name>使用する場合はps -ef | grep <pid>プロセスの後に「期限切れ」に言及する必要があります。を発行する時ですkill -1 1

一部のプログラム (Java JVM など) は、シグナルの受信時に (トラブルシューティングのため) スレッド/ヒープをダンプするように構成できます。このような場合でもkillを使用してください。

おすすめ記事