Program Tip

주어진 사용자의 모든 프로세스를 종료합니다.

programtip 2020. 11. 7. 10:25
반응형

주어진 사용자의 모든 프로세스를 종료합니다.


특정 사용자의 모든 프로세스를 종료하는 신뢰할 수있는 방법이 있습니까? kill(-1, SIGKILL)해당 사용자의 불량 프로세스가 먼저 킬링 프로세스를 종료하지 않는 한 해당 사용자가 작동합니다. 지금까지 찾을 수있는 최선의 system("ps -u")방법은 해당 사용자 를 반복 하고 그런 식으로 프로세스를 종료하는 것입니다.하지만 이는 정말 엉망이고 비효율적으로 보입니다.

편집 : 명확히하기 위해 특별히 POSIX 호환 솔루션을 요청하고 있습니다. 어떤 이유로 나는 질문 posix에 태그를 붙이면 제목에 넣을 것이라고 생각했습니다.


그냥 (일시적으로) 내 Macbook을 죽였습니다.

killall -u pu -m .

여기서 pu는 내 사용자 ID입니다. 명령 끝에있는 점을 확인하십시오.

또한 시도

pkill -u pu

또는

ps -o pid -u pu | xargs kill -1

여기에이 작업을 수행하는 한 줄이 있습니다. 사용자 이름을 원하는 사용자 이름으로 바꾸십시오. 거기에 뿌리를 두는 생각조차하지 마십시오!

pkill -9 -u `id -u username`

참고 : 멋지게하고 싶다면 -9를 제거하십시오.하지만 모든 종류의 프로세스를 죽이지는 않습니다.


Debian LINUX에서는 다음을 사용 ps -o pid= -u username | xargs sudo kill -9합니다..

으로 -o pid=는 ps 헤더 supressed, 출력 만 PID리스트이다. 내가 아는 한 데비안 쉘 은 POSIX와 호환됩니다.


다음은이 사용자가 만든 모든 프로세스를 종료합니다.

kill  -9  -1

/ proc 가상 파일 시스템에서 반복하는 것은 어떻습니까? http://linux.die.net/man/5/proc ?

참고 URL : https://stackoverflow.com/questions/15452081/kill-all-processes-for-a-given-user

반응형