キルステップについて知りたいです。私たちは常に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を使用してください。