特定のプロセスを検索し、そのプロセスを強制終了する必要があります。私はこのようなコマンドを書きました:
ps -e | grep dmn | awk '{print $1}' | kill
プロセス名はdmn
です。しかし、それは機能していません。名前とkill
でプロセスを見つけるにはどうすればよいですか。
kill $(ps -e | grep dmn | awk '{print $1}')
削除するプロセスが複数ある場合は、これを使用できます。
ps -efw | grep dmn | grep -v grep | awk '{print $2}' | xargs kill
注:grepプロセス自体を出力から削除する必要があるため、grep -v grep
使用されている。
他の機能を追加するだけですが、awkの正規表現機能の使用が好きです:
kill $(ps | awk '/dmn/{print $1}')
システムにpidof
コマンドがある場合(私が間違っていない限り、デフォルトでZSHなどのシェルがこれに付属していることを知っています)、次のようなことができます。
kill -9 $(pidof dmn)
killall を使用することもできます。
killall dmn
for procid in $(ps -aux | grep "some search" | awk '{print $2}'); do kill -9 $procid; done
こんにちは友人.. forループを使用してそれを行うことができます。
ここで「一部の検索」は検索したいプロセス名、例えば「Java」なので、Javaプロセスのカウントは200+なので、1つずつキルするのはあまりにも典型的です。
したがって、上記のコマンドを使用できます。
ありがとう。
pipe
コマンドがあり、イメージ名がわかっている場合、このためにpidof
は必要ないかもしれません。
_kill $(pidof synergyc)
_
$()
パイプが行うように、killが使用できる変数にその出力を変換するため、これを理解しています。他のオプションよりも短く簡単に理解できますが、柔軟性が低く、より直接的です。