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이 더 간단한 접근 방식이 될 것입니다. 매개변수 하나를 놓쳤을 뿐입니다.

"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

요청한 코드를 반영하도록 답변을 업데이트했습니다.

관련 정보