Use pkill -U UID
ou pkill -u UID
ou nome de usuário em vez de UID. Às vezes skill -u USERNAME
pode funcionar, outra ferramenta é killall -u USERNAME
.
O Skill era específico do Linux e agora está desatualizado, e o pkill é mais portátil (Linux, Solaris, BSD).
O pkill permite UIDs numéricos e simbólicos, efetivos e reais http://man7.org/linux/man-pages/man1/pkill.1.html
pkill - ... sinaliza processos com base no nome e outros atributos
-u, --euid euid,...
Only match processes whose effective user ID is listed.
Either the numerical or symbolical value may be used.
-U, --uid uid,...
Only match processes whose real user ID is listed. Either the
numerical or symbolical value may be used.
A página de manual de habilidade diz que é permitido usar apenas o nome de usuário, não o ID do usuário: http://man7.org/linux/man-pages/man1/skill.1.html
habilidade, snice ... Essas ferramentas são obsoletas e não são portáveis. A sintaxe do comando está mal definida. Considere usar o killall, pkill
-u, --user user
The next expression is a username.
O killall não está marcado como desatualizado no Linux, mas também não funcionará com UID numérico; único nome de usuário: http://man7.org/linux/man-pages/man1/killall.1.html
killall - mata processos por nome
-u, --user
Kill only processes the specified user owns. Command names
are optional.
Eu acho que qualquer utilitário usado para encontrar processos no estilo Linux / Solaris / proc (procfs) usará a lista completa de processos (fazendo alguns readdir de /proc
). Eu acho que eles irão percorrer /proc
subpastas digitais e verificar todos os processos encontrados quanto à correspondência.
Para obter a lista de usuários, use getpwent
(ele receberá um usuário por chamada).
As ferramentas skill (procps & procps-ng) e killall (psmisc) usam a getpwnam
chamada de biblioteca para analisar o argumento da -u
opção e apenas o nome de usuário será analisado. pkill
(procps & procps-ng) usa atol e getpwnam para analisar -u
/ -U
argumentar e permitir o especificador de usuário numérico e textual.