우분투에서 모든 사용자 프로세스를 종료 하시겠습니까?


20

한 사용자의 모든 프로세스를 종료하는 방법은 무엇입니까?

ps aux여러 사용자와 프로세스 목록을 만들 때 name1예를 들어 모든 사용자 프로세스를 종료하고 싶습니다 ! 우분투에서 그렇게하는 명령은 무엇입니까?



1
사용자가 실제 사람이라면 아마도 좋은 생각이 아닙니다. 또한 시간을 절약하기 위해 프로세스를 종료하고 싶다고 생각합니다. 이것은 매우 나쁜 생각입니다. 예를 들어, Ubuntu의 서비스는을 사용하여 중지 할 수 있습니다 sudo service the-service-name stop. 프로세스를 종료하면 파일, 데이터베이스 등이 손상 될 수 있습니다.
tiktak

답변:


27

이 경우 매우 간단합니다 killall. 한 번에 여러 프로세스로 다른 신호를 죽이거나 보내려면 사용할 수 있습니다 . "필터링"옵션 중 하나는 소유자입니다.killall --user name1


나는 그 --user주장을 몰랐다 . 고마워!
jmtd

4
주목해야한다 killall예를 들어 솔라리스 유닉스 죽이고 모두 가 할 수있는 실행중인 프로세스를! 참조 : en.wikipedia.org/wiki/Killall
donothingsuccessfully

이것은 우분투 18에서 본질적으로 로그 오프되었습니다.
Manohar Reddy Poreddy

14

아무도 언급하지 않았기 때문에 다른 옵션을 추가하면 마음에 들지 않습니다 killall.

pkill 더 휴대용

pkill -u username

killall우분투에서 찾을 수 없지만 pkill이미 설치되어 있습니다.
david.perez

2

사용자를 식별 한 다음 killall -user <username>

로그인 세션 종료와 관련된 bash (또는 유사한) 프로세스가 세션을 종료시킵니다.

사용자가하는 일에 대해 잠재적으로 더 나은 개요를 얻으려면-시도 pstree <username>


사용자 앞에 두 개의 대시가 필요합니다. 예 :--user
jmtd

1

설치 slay:

적성 설치 슬레이

그런 다음 발행하십시오 slay some-user.

용도를 모르는 사용자를 위해 물건을 죽이면 컴퓨터를 다시 사용할 수 없게 될 수 있습니다.

당신이 정말로 슬레이를 설치하고 싶지 않다면 :

ps -e -o user,pid | grep '^some-user ' | awk '{ print $2 }' | xargs kill

(조금만 기다려주세요)

ps -e -o user,pid | grep '^some-user ' | awk '{ print $2 }' | xargs kill -9

1
Btw awk는 무언가를 그렙 할 수 있습니다. 할 필요가 없으므로 대신 grep smth | awk사용할 수 있습니다 awk '/smth/{...}'.
돌진

다음은 편리한 작은 기능입니다. killuser () { ps faux| awk -v user=$1 '$1==user{ system("kill -9 " $2) }' ;};
rcjohnson
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.