Linux: Jak zabić proces należący do roota za pomocą nazwy parametru?

1

Chciałbym wiedzieć, jak zabić procesy należące do roota na podstawie informacji o ich parametrach:

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

Próbuję tak, ale bez powodzenia:

pi@raspberrypi ~ $ ps aux | grep main.py | awk '{print $2}' | xargs kill
pi@raspberrypi ~ $ sudo pkill -u root main.py
Bob
źródło
1
To może uzyskać lepszą odpowiedź na superuser.se

Odpowiedzi:

5

pkill byłoby prostszym podejściem, po prostu przegapiłeś jeden parametr.

Od „man pkill”:

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

W twoim przypadku nazwy procesów to „python” i „sudo”.

nlu
źródło
1

Ha, zbadałem to; więc musisz to zmienić na

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

Zaktualizowałem swoją odpowiedź, aby odzwierciedlić żądany kod

xor
źródło