Search code examples
posix

Kill all processes for a given user


Is there a reliable way to kill all the processes of a given user? kill(-1, SIGKILL) as that user will work, unless a rogue process of that user kills the killing process first. The best I can find so far is to loop through system("ps -u") for that user and kill the processes that way, but that seems really hacky and inefficient.

EDIT: To clarify, I'm specifically asking for a POSIX-compatable solution. For some reason I thought tagging the question posix would put that in the title.


Solution

  • Just (temporarily) killed my Macbook with

    killall -u pu -m .
    

    where pu is my userid. Watch the dot at the end of the command.

    Also try

    pkill -u pu
    

    or

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