nonsudo는 문자열과 일치하는 프로세스를 종료합니다.

nonsudo는 문자열과 일치하는 프로세스를 종료합니다.

문자열과 일치하는 모든 프로세스를 종료하는 명령을 작성하려고 합니다. 실행 권한이 있지만 kill -9실행하려고 pkill -f string하면 operation not permitted.

이것이 내가 지금까지 가지고 있는 것입니다:

 ps aux  | grep -E 'python2|python3'

이것은 모든 Python 프로세스의 모든 PID를 가져옵니다. 그러나 내 sed 및 grep 마법은 실행할 pid를 구문 분석하는 데 충분하지 않았습니다.

kill -9 | <sed magic> | grep -E 'python2|python3'

위의 마법이 일어나도록 도와줄 수 있는 사람이 있나요?

답변1

pgrep "$expression" | xargs kill -9

pgrep이는 지정된 프로세스 이름과 일치하는 PID를 검색한 다음 해당 PID를 실행에서 제외하는 데 사용됩니다 kill.

즉, kill -9절대로 일상적으로 수행해서는 안 됩니다. 프로세스는 TERM(15) 신호를 처리하고 올바르게 정리되도록 설계되어야 합니다 .

또한 자신이 소유한 프로세스에만 신호를 보낼 수 있으므로(수퍼유저가 아닌 경우) 자신이 소유하지 않은 프로세스를 일치시키고 해당 프로세스에 신호를 보내려고 하면 적절한 경고를 받게 됩니다.

관련 정보