serveur-debian-general:processus-debian

Ceci est une ancienne révision du document !


Gestion des processus sur Linux Debian

Un processus est l'instance d'exécution d'un programme dans un contexte donné. Plusieurs processus d'un même programme peuvent s'exécuter parallèlement sur le même serveur, et exécuter par des utilisateurs différents. Nous verrons ici un ensemble d'instructions permettant la gestion de ces processus sur une machine Debian.

Pour lister les processus tournant sur la machine Debian, on peut utiliser la commande top.

top

Pour ma part, je préfère utiliser le programme htop qui est plus complet que top.

htop n'est pas installé nativement sur Debian. Il faut l'installer avec aptitude ou apt-get, comme ceci : aptitude install htop

htop

La commande ps permet d'afficher les processus en cours d'exécution.

  • Afficher les processus de l'utilisateur en cours
ps
  • Afficher tous les processus en cours d'exécution sur le serveur
ps aux
  • Afficher les processus lancés par un utilisateur spécifique
ps -u root
ps -u apache2

Il arrive, parfois, qu'on ai besoin d'arrêter un processus, voici 3 commandes spécialisées dans l'arrêt des processus.

  • La commande killall

killall permet de tuer tous les processus dont le nom de commande est connu

killall apache2
  • La commande kill

kill permet de tuer le processus dont on connait le PID.

kill -9 2731

On peut connaître le PID d'un processus grâce à la commande top ou htop.

  • La commande pkill

pkill permet d'arrêter tous les processus liés à un utilisateur spécifique.

pkill -u utilisateur
  • Connaître quel port est écouté par quel processus

On va prendre comme exemple un cas pratique. J'ai rencontré lors d'un redémarrage serveur postfix qui ne voulait pas démarrer car un processus était déjà en route sur le port 25. J'avais ce message dans les logs

Mar  6 18:36:16 xxx postfix/master[4393]: fatal: bind 0.0.0.0 port 25: Address already in use

Pour savoir quel processus écoutait sur le port 25, et empêchait le redémarrage de postfix, j'ai utilisé cette commande :

lsof -i TCP:25

Ce qui m'a donné le message suivant : <quote> COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME sendmail- 3169 root 4u IPv4 6510 0t0 TCP ns1.chg-web.net:smtp (LISTEN) </quote> Donc, il a suffit de "killer" le processus avec la commande kill pour pouvoir démarrer postfix.

  • serveur-debian-general/processus-debian.1440341450.txt.gz
  • Dernière modification : 08/10/2019 16:39
  • (modification externe)