Linuxで実行されているプロセスを停止する方法

Linuxで実行されているプロセスを停止する方法

指定されたIPアドレスに対してpingを送信するスクリプトファイルpingIP.shがあります。

ping -c 70 74.125.228.71

問題は、実行中のスクリプトを途中で停止しようとすると正しく停止しないことです。

Linux cmdを使用すると、ps -ef|grep pingIP |grep -v 'grep pingIP'プロセスIDを取得してcmdを使用して終了できますkill -9 processid

たとえば、スクリプトファイルを実行します。

PING 74.125.228.71 (74.125.228.71) 56(84) bytes of data.
64 bytes from 74.125.228.71: icmp_seq=1 ttl=122 time=256 ms
64 bytes from 74.125.228.71: icmp_seq=2 ttl=122 time=244 ms
64 bytes from 74.125.228.71: icmp_seq=3 ttl=122 time=250 ms
64 bytes from 74.125.228.71: icmp_seq=4 ttl=122 time=254 ms
64 bytes from 74.125.228.71: icmp_seq=5 ttl=122 time=243 ms

今すぐコマンドを実行するとkillスクリプトの実行のみが停止しますが、指定されたping回数に達するまでping応答は続行されます。

スクリプトファイルの実行を停止した後にpingを防ぐための提案はありますか?

ベストアンサー1

通常、シェルを呼び出すとシグナル(Java)を送信してCtrl+C親プロセスのプロセスを終了します。Process.destroy()

これらのタスクを実行するためのきちんとしたツールは、いくつかのpkillパターンでプロセスを終了できることです。

pkill ping

一般ユーザーは他のユーザーのプロセスを終了できないため、正しいユーザーIDで正しいコンピューターにログインしていることを確認してください。

ボーナスのヒント:pgrep -fl ping一致するプロセスを一覧表示して、そのプロセスをすべて終了することを確認するために使用します。ルートとして実行するpkill ssh返品あなたを殺して、sshdおそらくあなたを閉じ込めることができます。そのため、特にrootとして実行する場合(どうせ避ける必要がある場合)、慎重に確認してくださいpgrep

おすすめ記事