GNU/Linux >> Linux Esercitazione >  >> Linux

Termina tutti i processi di un utente specifico tramite SSH

Ci sono momenti in cui vuoi uccidere tutti i processi per un utente specifico. Questo può essere fatto usando i comandi della shell pkill e uccidi tutti .

Per vedere le differenze tra il comando pkill e killall, consulta le pagine di aiuto elencate alla fine di questo post.

Quindi, per terminare tutti i processi per un utente, usa

pkill -u username

La sintassi di utilizzo è:

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

Con il killall strumento, il comando della shell è simile:

killall -u username

La sintassi di utilizzo è:

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)

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


Linux
  1. Come disabilitare l'accesso dell'utente root tramite SSH

  2. Come uccidere tutti i processi tranne uno specifico?

  3. Disabilita l'accesso root diretto e l'accesso utente tramite SSH al server

  4. Come uccidere tutti i processi con un determinato nome parziale?

  5. Come uccidere tutti i processi in background in zsh?

Disabilita l'autenticazione con password SSH per utenti o gruppi specifici

Come disabilitare l'accesso SSH a un utente specifico in Linux

Come visualizzare i processi in esecuzione di qualsiasi utente in SSH?

Come terminare tutti i processi PHP-FPM in un'unica riga di comando

Uccidi tutti i processi relativi a un'applicazione

Come trovo tutti i file e le directory scrivibili da un utente specifico?