Você está correto
Errado: pkill -u bob $(pgrep -u bob)
Correto: pkill -u bob
O cartão flash provavelmente queria mostrar:
kill $(pgrep -u bob)
que mataria todos os processos retornados por pgrep -u bob
.
Eu li em um cartão flash online que o comando é:
pkill -u bob $(pgrep -u bob)
No entanto, acho que isso está errado. Eu acho que está dizendo:
Kill all the processed owned by
bob
, and4572\n4600
Porque:
[bob@localhost ~]$ pgrep -u bob
4572
4600
Além disso, dá um erro:
[bob@localhost ~]$ pkill -u bob $(pgrep -u bob)
pkill: only one pattern can be provided
Try 'pkill --help' for more information.
O que faz sentido, porque você não pode ter novas linhas nos nomes de usuários, certo?
Acho que o comando deve ser apenas:
pkill -u bob
Para "matar todos os processos pertencentes a bob"
Enquanto o comando:
pgreg -u bob
Dá "todos os processos pertencentes a bob"
Estou me perguntando: