Verwenden Sie pkill -U UID
oder pkill -u UID
oder Benutzername anstelle von UID. Manchmal skill -u USERNAME
kann es funktionieren, ein anderes Tool ist killall -u USERNAME
.
Skill war Linux-spezifisch und ist mittlerweile veraltet, und pkill ist portabler (Linux, Solaris, BSD).
pkill erlaubt sowohl numerische als auch symbolische UIDs, effektive und echte http://man7.org/linux/man-pages/man1/pkill.1.html
pkill - ... signalisiert Prozesse basierend auf Namen und anderen Attributen
-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.
Die Manpage von skill sagt, dass es nur erlaubt ist, den Benutzernamen zu verwenden, nicht die Benutzer-ID: http://man7.org/linux/man-pages/man1/skill.1.html
skill, snice ... Diese Tools sind veraltet und nicht mehr portierbar. Die Befehlssyntax ist schlecht definiert. Erwägen Sie die Verwendung von killall, pkill
-u, --user user
The next expression is a username.
killall ist in Linux nicht als veraltet markiert, funktioniert aber auch nicht mit der numerischen UID. Nur Benutzername: http://man7.org/linux/man-pages/man1/killall.1.html
killall - Prozesse mit Namen beenden
-u, --user
Kill only processes the specified user owns. Command names
are optional.
Ich denke, jedes Dienstprogramm, das zum Auffinden von Prozessen im Linux / Solaris-Stil / proc (procfs) verwendet wird, verwendet eine vollständige Liste von Prozessen (wobei einige readdir von ausgeführt werden /proc
). Ich denke, sie werden /proc
digitale Unterordner durchlaufen und jeden gefundenen Prozess auf Übereinstimmung überprüfen.
Verwenden getpwent
Sie, um eine Benutzerliste abzurufen (es wird ein Benutzer pro Anruf abgerufen).
Die Tools skill (procps & procps-ng) und killall (psmisc) verwenden beide einen getpwnam
Bibliotheksaufruf, um das Argument der -u
Option zu analysieren , und nur der Benutzername wird analysiert. pkill
(procps & procps-ng) verwendet sowohl atol als auch getpwnam , um -u
/ -U
argument zu analysieren und sowohl numerische als auch textuelle Benutzerspezifikationen zuzulassen.