How to kill all processes owned by `user` on Centos 7?

38,953

You Are Correct

Wrong: pkill -u bob $(pgrep -u bob)

Correct: pkill -u bob


The flash card probably meant to show:

kill $(pgrep -u bob)

which would kill all of the processes returned by pgrep -u bob.

Share:
38,953

Related videos on Youtube

mbigras
Author by

mbigras

Updated on September 18, 2022

Comments

  • mbigras
    mbigras over 1 year

    I read in an online flash card that the command is:

    pkill -u bob $(pgrep -u bob)
    

    However, I think this is wrong. I think it's saying:

    Kill all the processed owned by bob, and 4572\n4600

    Because:

    [bob@localhost ~]$ pgrep -u bob
    4572
    4600
    

    Also, it gives an error:

    [bob@localhost ~]$ pkill -u bob $(pgrep -u bob)
    pkill: only one pattern can be provided
    Try `pkill --help' for more information.
    

    Which makes sense because you can't have newlines in usernames, right?

    I think the command should only be:

    pkill -u bob
    

    To "kill all processes owned by bob"

    While the command:

    pgreg -u bob 
    

    Gives "all processes owned by bob"

    I'm wondering:

    • Am I uses the right commands as intended?
    • Is my analysis of the incorrect way accurate?
  • Pankaj Goyal
    Pankaj Goyal almost 7 years
    alternatively, killall -u bob.
  • Wieland
    Wieland almost 7 years
    Not relevant on CentOS, but if you're ever on a Solaris machine, killall on there really just kills all processes, no patterns or anything.