
Li em um cartão flash online que o comando é:
pkill -u bob $(pgrep -u bob)
No entanto, acho que isso está errado. Acho que está dizendo:
Mate todos os processados de propriedade de
bob
e4572\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 em nomes de usuário, certo?
Acho que o comando deveria ser apenas:
pkill -u bob
Para "matar todos os processos pertencentes a bob"
Enquanto o comando:
pgreg -u bob
Fornece "todos os processos pertencentes a bob"
Estou me perguntando:
- Estou usando os comandos corretos conforme pretendido?
- Minha análise da forma incorreta é precisa?
Responder1
Você está certo
Errado: pkill -u bob $(pgrep -u bob)
Correto:pkill -u bob
O cartão flash provavelmente pretendia mostrar:
kill $(pgrep -u bob)
o que mataria todos os processos retornados por pgrep -u bob
.