Menu Fermer

Fermer une session avec Kill et tuer tous les processus d’un utilisateur sur Linux

Vous administrez un serveur sur Linux et souhaitez fermer une session en ligne de commandes avec la commande Kill.
Le but étant de tuer tous les processus d’un utilisateur afin que plus qu’aucun ne soit en cours d’exécution ?
Mais comment tuer ou mettre fin aux sessions TTY / PTS indésirables à Linux?

Dans ce tutoriel, je vous donne plusieurs méthodes pour fermer une session avec Kill.

Fermer une session avec Kill et tuer tous les processus d'un utilisateur sur Linux

Fermer une session avec Kill et tuer tous les processus d’un utilisateur sur Linux

Le principe pour arrêter une session avec Kill

Avant de commencer, nous avons une brève discussion sur TTY.
Le mot TTY représente les terminaux de télétype. Il y a quelques années, les terminaux d’utilisateurs étaient connectés aux téléprompts électromécaniques d’ordinateurs ou aux télétypes (TeleTypewriter, TTY), puisque le nom TTY a continué d’être utilisé comme nom pour la console de texte uniquement.

Sur Linux, Lorsqu’un utilisateur ouvre une session distante, un TTY PST/ est créé avec le shell (bash, tcsh, …).
Ce dernier possède un processus et un identifiant (PID).
Toutes les programmes exécutés auront pour parents ce processus et seront rattachés à ce TTY.
En arrêtant le processus Shell, vous tuer tous les processus enfants de l’utilisateur.

Nous avons besoin du PID (ID de processus) du terminal particulier (TTY) puis à partir de là, on arrête le processus avec kill comme un programme classique.

Avec Kill

Pour les explications autour de la commande Kill, suivez ce didacticiel :

Lister les sessions utilisateurs ouvertes avec la commande w (pour who) :

w

Dans cet exemple, nous avons deux terminaux (TTY) ouverts : pts/0 et pts/1

Lister les sessions ouvertes

Pour récupérer le PID des sessions ouvertes :

ps -ft pts/0
ps -ft pts/1

Puis identifiez la ligne bash, dash qui se trouvent en première ligne.
Ici nous avons deux terminaux ouverts :

  • pt/0 en bash avec le PID 600
  • pt/s1 en bash aussi avec le PID 610
Fermer une session en ligne de commande avec Kill et tuer tous les processus d'un utilisateur

Enfin on utilise la commande kill avec le numéro du PID pour fermer la session du terminal souhaité.
Imagions que vous souhaitez arrêter le terminal avec le PID 6100 et tous les programmes ouverts sur ce dernier par l’utilisateur :

kill 610

Vérifiez avec PS que ce dernier est bien arrête.
Si ce n’est pas le cas, on peut envoyer le signal KILL :

kill -9 610

Avec pkill

Vous pouvez également utiliser la commande pkill avec le commutateur “-t” pour tuer une connexion TTY avec force. S’il vous plaît voir le salaire collé ci-dessous:

pkill -9 -t pts/0