5

Linux ボックスでは、最大で 3 つの Java jar ファイルが実行されています。1 つのコマンドで 3 つすべてをすばやく殺すにはどうすればよいですか?

通常、私は:

ps ex - 実行中のプロセスを取得する

次にプロセスIDを見つけて、次のようにします。

kill -9 #### #### ####

このプロセスを短縮する方法はありますか? プロセス ID を見つけるために目を細めると、目が痛くなります。

私のスクリプトは次のことを行います:

nohup ./start-gossip &

nohup ./start &

nohup ./start-admin &

調べずにそれぞれのプロセスIDを取得する方法はありますか?

4

3 に答える 3

17

簡潔な答え:

pkill java

これは、kill するプロセス (またはプロセス) を名前で検索します。これにより、他のjavaプロセスも検出されるため、注意してください。も受け入れますが、何かが本当に壊れていない限り-9、使用しないでください。-9

編集:

更新に基づいて、スクリプト名も指定できるようになる可能性がありますpkill(私は肯定的ではありません)。しかし、この問題を処理するより伝統的な方法は、pid ファイルを残しておくことです。新しいプロセスを開始してバックグラウンドにすると、その pid が で利用可能になり$!ます。そのpidをファイルに書き込むと、プロセスがまだ実行されているかどうかを簡単に確認し、意図したプロセスだけを強制終了できます。ただし、pid が再利用される可能性はいくらかあります。

于 2013-03-19T19:10:17.790 に答える
-1

そのJavaプロセス実行のプロセスIDを取得するには

netstat -tuplen

強制終了して実行するプロセスのプロセス ID (PID)

kill -9 PID

于 2016-10-17T12:57:29.270 に答える