bashからのものを除くすべてのpythonプロセスを強制終了する方法


11

1つのpythonスクリプトを除くすべてのpythonプロセスをbashから強制終了するにはどうすればよいですか。(名前は知っていますが、pidは変更されることがあります)。

私は一種の必要がありますpkill -f "python"が、Python固有のスクリプトを除外しています。

お知らせ下さい。

回答:


13

ps aux |grep python |grep -v 'pattern_of_process_you_dont_want_to_kill' |awk '{print $2}' |xargs kill

更新:コメントで要求された段階的な説明

  • ps aux |grep python- pythonパターンに 一致するすべてのプロセスを表示する
  • grep -v 'pattern_of_process_you_dont_want_to_kill' -殺したくないプロセスを除外する
  • awk '{print $2}' -出力の2番目のフィールドを表示します。これはPIDです。
  • xargs kill- kill各入力引数(PID)にコマンドを適用します。

xargsコマンドに慣れていない場合は、すぐに理解できなくても心配しないでください。それは初めてかなりトリッキーに見えるかもしれません。私はその使用法の非常に簡単な例を投稿しました。


1
すばらしいですが、どのように機能するかを説明していただけますか。たとえば、awk '{print $ 2}'とxargs killとは何ですか?
user370717

awk '{print $2}' -出力の2番目のフィールドをps出力しますPID。現在の場合はです。それぞれにコマンドをxargs適用killしますPID
user1700494

1
コメントにそれを入れるのは良いことですが、その適切にフォーマットされたコメントがあなたの回答に統合された後、私はむしろあなたの回答に投票したいと思います。
ヒヨコ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.