GNU/Linux >> Tutoriels Linux >  >> Linux

Tuez tous les processus d'un utilisateur spécifique via SSH

Il y a des moments où vous voulez tuer tous les processus pour un utilisateur spécifique. Cela peut être fait en utilisant les commandes shell pkill et killall .

Pour voir les différences entre les commandes pkill et killall, veuillez consulter les pages d'aide répertoriées à la fin de cet article.

Donc, pour tuer tous les processus d'un utilisateur, utilisez

pkill -u username

La syntaxe d'utilisation est :

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

Avec le killall tool, la commande shell est similaire :

killall -u username

La syntaxe d'utilisation est :

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)

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


Linux
  1. Ssh – Restreindre un utilisateur Ssh/scp/sftp à un répertoire ?

  2. Comment trouver tous les fichiers appartenant à un utilisateur spécifique sous Unix/Linux ?

  3. Désactiver la connexion racine directe et l'accès utilisateur via SSH au serveur

  4. Comment tuer tous les processus avec un nom partiel donné ?

  5. Comment tuer tous les processus d'arrière-plan dans zsh ?

Désactiver l'authentification par mot de passe SSH pour un utilisateur ou un groupe spécifique

Comment désactiver la connexion SSH à un utilisateur spécifique sous Linux

Comment afficher les processus en cours d'exécution de n'importe quel utilisateur dans SSH ?

Comment tuer tous les processus renvoyés par pgrep

Limiter l'accès SSH à des clients spécifiques par adresse IP

Tuez tous les processus en cours d'exécution pendant plus de 5 minutes par un utilisateur donné dans le script Linux bash