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?

  • 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

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


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
  • I don't find killall in Ubuntu, but pkill is already installed. – david.perez Nov 29 '17 at 10:19

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
  • 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

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>

  • you need two dashes before user e.g. --user – jmtd Mar 28 '12 at 10:40

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.