コマンドライン引数に基づいてプロセスを終了する方法は?
killall
、pgrep
およびはpkill
プロセス名に基づいてのみ機能するようです。
Java Virtual Machine内で実行されている複数のアプリケーションを区別できる必要があり、java
すべてのアプリケーションのプロセス名はどこにあり、コマンドライン引数を見て実際のアプリケーション名を見つけることができるはずです。
これは手動で実行し、出力ps aux | grep myapp.jar
からpidを手動で削除できますが、同じ操作を自動的に実行するコマンドが必要です。
ベストアンサー1
pgrep
/フラグpkill
を入手してください-f
。man
ページから:
-f The pattern is normally only matched against the process name.
When -f is set, the full command line is used.
たとえば、
$ sleep 30& sleep 60&
[1] 8007
[2] 8008
$ pkill -f 'sleep 30'
[1] - terminated sleep 30
$ pgrep sleep
8008