Utilizzare pkill -U UID
o pkill -u UID
o nome utente anziché UID. A volte skill -u USERNAME
può funzionare, un altro strumento è killall -u USERNAME
.
Skill era specifico per Linux ed è ora obsoleto e pkill è più portatile (Linux, Solaris, BSD).
pkill consente UID sia numerici che simbolici, effettivi e reali http://man7.org/linux/man-pages/man1/pkill.1.html
pkill - ... elabora i segnali in base al nome e ad altri attributi
-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.
La pagina man di skill dice che è permesso usare solo username, non ID utente: http://man7.org/linux/man-pages/man1/skill.1.html
abilità, snice ... Questi strumenti sono obsoleti e non portabili. La sintassi del comando è mal definita. Prendi in considerazione l'utilizzo di killall, pkill
-u, --user user
The next expression is a username.
killall non è contrassegnato come obsoleto in Linux, ma non funzionerà con l'UID numerico; solo nome utente: http://man7.org/linux/man-pages/man1/killall.1.html
killall - uccide i processi per nome
-u, --user
Kill only processes the specified user owns. Command names
are optional.
Penso che qualsiasi utilità usata per trovare processi in stile Linux / Solaris / proc (procfs) utilizzerà l'elenco completo dei processi (facendo un readdir di /proc
). Penso che passeranno in rassegna le /proc
sottocartelle digitali e controlleranno ogni processo trovato per la corrispondenza.
Per ottenere un elenco di utenti, utilizzare getpwent
(otterrà un utente per chiamata).
Gli strumenti skill (procps & procps-ng) e killall (psmisc) utilizzano entrambi la getpwnam
chiamata in libreria per analizzare l'argomento -u
dell'opzione e verrà analizzato solo il nome utente. pkill
(procps & procps-ng) utilizza sia atol che getpwnam per analizzare -u
/ -U
argomento e consentire sia l' identificatore utente numerico che testuale.