Es gibt Zeiten, in denen Sie alle Prozesse für einen bestimmten Benutzer beenden möchten. Dies kann mit den Shell-Befehlen pkill erfolgen und Killall .
Um die Unterschiede zwischen dem pkill- und dem killall-Befehl zu sehen, konsultieren Sie bitte die Hilfeseiten am Ende dieses Beitrags.
Um also alle Prozesse für einen Benutzer zu beenden, verwenden Sie
pkill -u username
Die Verwendungssyntax lautet:
root@web [~]# pkill -h
Usage:
pkill [options]
Options:
-<sig>, --signal <sig> signal to send (either number or name)
-e, --echo display what is killed
-c, --count count of matching processes
-f, --full use full process name to match
-g, --pgroup <PGID,...> match listed process group IDs
-G, --group <GID,...> match real group IDs
-n, --newest select most recently started
-o, --oldest select least recently started
-P, --parent <PPID,...> match only child processes of the given parent
-s, --session <SID,...> match session IDs
-t, --terminal <tty,...> match by controlling terminal
-u, --euid <ID,...> match by effective IDs
-U, --uid <ID,...> match by real IDs
-x, --exact match exactly with the command name
-F, --pidfile <file> read PIDs from file
-L, --logpidfile fail if PID file is not locked
--ns <PID>> match the processes that belong to the same
namespace as
--nslist <ns,...> list which namespaces will be considered for
the --ns option.
Available namespaces: ipc, mnt, net, pid, user, uts
-h, --help display this help and exit
-V, --version output version information and exit
Mit dem killall Tool ist der Shell-Befehl ähnlich:
killall -u username
Die Verwendungssyntax lautet:
root@web [~]# killall -h
Usage: killall [-Z CONTEXT] [-u USER] [ -eIgiqrvw ] [ -SIGNAL ] NAME...
killall -l, --list
killall -V, --version
-e,--exact require exact match for very long names
-I,--ignore-case case insensitive process name match
-g,--process-group kill process group instead of process
-y,--younger-than kill processes younger than TIME
-o,--older-than kill processes older than TIME
-i,--interactive ask for confirmation before killing
-l,--list list all known signal names
-q,--quiet don't print complaints
-r,--regexp interpret NAME as an extended regular expression
-s,--signal SIGNAL send this signal instead of SIGTERM
-u,--user USER kill only process(es) running as USER
-v,--verbose report if the signal was successfully sent
-V,--version display version information
-w,--wait wait for processes to die
-Z,--context REGEXP kill only process(es) having context
(must precede other arguments)
Ressourcen:
https://linux.die.net/man/1/pkill
https://linux.die.net/man/1/killall