
Leí en una tarjeta flash en línea que el comando es:
pkill -u bob $(pgrep -u bob)
Sin embargo, creo que esto está mal. Creo que esta diciendo:
Mata a todos los procesados propiedad de
bob
y4572\n4600
Porque:
[bob@localhost ~]$ pgrep -u bob
4572
4600
Además me da error:
[bob@localhost ~]$ pkill -u bob $(pgrep -u bob)
pkill: only one pattern can be provided
Try `pkill --help' for more information.
Lo cual tiene sentido porque no puedes tener nuevas líneas en los nombres de usuario, ¿verdad?
Creo que el comando sólo debería ser:
pkill -u bob
Para "matar todos los procesos propiedad de Bob"
Mientras el comando:
pgreg -u bob
Da "todos los procesos propiedad de Bob"
Me pregunto:
- ¿Utilizo los comandos correctos según lo previsto?
- ¿Es exacto mi análisis del camino incorrecto?
Respuesta1
Estás en lo correcto
Equivocado: pkill -u bob $(pgrep -u bob)
Correcto:pkill -u bob
La tarjeta flash probablemente pretendía mostrar:
kill $(pgrep -u bob)
lo que mataría todos los procesos devueltos por pgrep -u bob
.