36

How to kill all process of one user?

When I make ps aux I obtain a list of process with several users, and I want to kill all process of user name1, for example. What's a command to do that in Ubuntu?

Kusalananda
  • 333,661
user15992
  • 687
  • 3
  • 8
  • 12
  • 1
    If the users are real persons this probably isn't a good idea. I also think you want to kill processes to save time. This is a very bad idea. For instance, the services in Ubuntu can be stopped using sudo service the-service-name stop. Killing processes may left corrupted files, databases, etc. – tiktak Mar 28 '12 at 15:39

5 Answers5

36

In this case, it's pretty simple, you can use killall to kill, or send any other signal, to a bunch of processes at once. One of the "filtering" options is the owner: killall --user name1

njsg
  • 13,495
26

Adding another option because nobody has mentioned it, and I don't like killall (using it on solaris can cause disaster).

pkill is more portable

pkill -u username
phemmer
  • 71,831
1

Install slay:

aptitude install slay

Then issue slay some-user.

Be aware that if you kill off stuff for users you don't know the purpose for, you may render your machine unusable (until you restart).

If you really don't want to install slay:

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

(wait a bit)

ps -e -o user,pid | grep '^some-user ' | awk '{ print $2 }' | xargs kill -9
jmtd
  • 9,305
  • 1
    Btw awk can grep something itself. No need to do grep smth | awk, cause you can use just awk '/smth/{...}' instead. – rush Mar 27 '12 at 14:36
  • Here is a handy little function for you. killuser () { ps faux| awk -v user=$1 '$1==user{ system("kill -9 " $2) }' ;}; – rcjohnson Mar 28 '17 at 16:20
1

Identify the user, then killall -user <username>

They will have a bash (or similar) process associated with their login session killing that will kill their session.

To get a potentially better overview of what a user is doing - try pstree <username>

Rui F Ribeiro
  • 56,709
  • 26
  • 150
  • 232
SuperBOB
  • 212
1

According to man kill:

kill -9 -1
    Kill all processes you can kill.

To apply it to a different user:

su -l username kill -9 -1
bougui
  • 131