Я хотел бы знать, как завершить процессы, принадлежащие пользователю root, на основе информации об их параметрах:
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 был бы более простым подходом, вы просто пропустили один параметр.
Из "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
Я обновил свой ответ, чтобы отразить запрошенный код.