GNU/Linux >> Znalost Linux >  >> Linux

Zabijte všechny procesy konkrétního uživatele přes SSH

Jsou chvíle, kdy chcete zabít všechny procesy pro konkrétního uživatele. To lze provést pomocí příkazů shellu pkill a zabít .

Chcete-li vidět rozdíly mezi příkazem pkill a příkazem killall, podívejte se na stránky nápovědy uvedené na konci tohoto příspěvku.

Chcete-li tedy pro uživatele zabít všechny procesy, použijte

pkill -u username

Syntaxe použití je:

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

S zabitím nástroj, příkaz shellu je podobný:

killall -u username

Syntaxe použití je:

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)

Zdroje:
https://linux.die.net/man/1/pkill
https://linux.die.net/man/1/killall


Linux
  1. Jak zabít všechny procesy kromě konkrétního?

  2. Jak zabít všechny procesy s daným částečným názvem?

  3. Jak zabít všechny procesy na pozadí v zsh?

  1. Jak zabít všechny procesy PHP-FPM v jediném příkazovém řádku

  2. Jak zabít všechny procesy vrácené pgrep

  3. Kteří uživatelé se mohou standardně přihlašovat přes SSH?

  1. Jak zakázat přihlášení uživatele root přes SSH

  2. Jak najdu všechny soubory a adresáře, do kterých lze zapisovat konkrétním uživatelem?

  3. Zabijte všechny procesy, které daný uživatel běží déle než 5 minut ve skriptu linux bash