Linux: パラメータ名でルート所有のプロセスを強制終了するにはどうすればいいですか?

Linux: パラメータ名でルート所有のプロセスを強制終了するにはどうすればいいですか?

パラメータ情報に基づいて、ルートが所有するプロセスを強制終了する方法を知りたいです。

root      3176  0.0  0.8   3604  2252 ?        S    21:33   0:00 sudo python main.py
root      3191 65.4  4.6  96820 11744 ?        Rl   21:33  10:00 python main.py

私はこのように試していますが、成功しません:

pi@raspberrypi ~ $ ps aux | grep main.py | awk '{print $2}' | xargs kill
pi@raspberrypi ~ $ sudo pkill -u root main.py

答え1

pkill の方が簡単な方法ですが、パラメータが 1 つ足りないだけです。

「man pkill」より:

 -f, --full
          The pattern is normally only matched against the  process  name.
          When -f is set, the full command line is used.

あなたの場合、プロセス名は「python」と「sudo」です。

答え2

ああ、調べてみたところ、次のように変更する必要があるようです

ps aux|grep main.py|awk '{print $2}'|sudo xargs kill -9

要求されたコードを反映するように回答を更新しました

関連情報