GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Beenden Sie alle Prozesse eines bestimmten Benutzers über SSH

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


Linux
  1. Wie kann man alle Prozesse außer einem bestimmten beenden?

  2. Wie kann ich die laufenden Prozesse eines beliebigen Benutzers in SSH anzeigen?

  3. Wie kann man alle Prozesse mit einem bestimmten Teilnamen beenden?

  4. Wie beendet man alle Hintergrundprozesse in zsh?

  5. So beenden Sie alle von pgrep zurückgegebenen Prozesse

Deaktivieren Sie die SSH-Passwortauthentifizierung für bestimmte Benutzer oder Gruppen

So deaktivieren Sie die SSH-Anmeldung für einen bestimmten Benutzer in Linux

Welche Benutzer dürfen sich standardmäßig per SSH anmelden?

Beenden Sie alle Prozesse, die sich auf eine Anwendung beziehen

Beschränken Sie den SSH-Zugriff auf bestimmte Clients nach IP-Adresse

Wie finde ich alle Dateien und Verzeichnisse, die von einem bestimmten Benutzer beschreibbar sind?