Sur Linux, il arrive parfois que l’on peut avoir besoin de récupérer le PID d’un processus à partir d’une fenêtre active sur X11. Par exemple, la fenêtre ne répond plus et vous souhaitez utiliser la commande kill pour arrêter le processus.
Dans ce tutoriel, je vous donne deux méthodes avec xprop et wmctrl pour trouver le processus à partir d’une fenêtre dans Linux.
Comment trouver le d’un processus à partir de sa fenêtre sur Linux
avec xprop (Méthode 1)
L’utilitaire xprop permet d’afficher les propriétés des fenêtres et des polices dans un serveur X en cliquant simplement dessus.
On peut récupérer toutes sortes d’informations et notamment le PID.
- Depuis un terminal, passez la commande suivante :
xprop | sed -nre 's/(WM_NAME\(STRING\)|_NET_WM_PID\(CARDINAL\)) =(.*)/\2/p'
- Puis cliquez sur la fenêtre en question.
- Le titre et le PID du processus lié à la fenêtre s’affiche
Voici une autre variante de la commande qui renvoie aussi les informations du processus via l’utilitaire ps :
xprop _NET_WM_PID | sed 's/_NET_WM_PID(CARDINAL) = //' | ps `cat`
Enfin, plus simple pour retourner que le PID du processus d’une fenêtre :
xprop | awk '/PID/ {print $3}'
Comme la commande n’est pas simple à retenir, vous pouvez créer un alias.
Pour cela :
- Éditez le fichier ~/.bashrc avec votre éditeur de texte favoris
- Ajoutez l’alias suivant :
alias pf='xprop | sed -nre "s/(WM_NAME(STRING)|_NET_WM_PID(CARDINAL)) =(.*)/\2/p"'
- Ouvrez un nouveau terminal, dorénavant utilisez la commande pf pour récupérer le PID d’une fenêtre
avec wmctrl (Méthode 2)
wmctrl est une commande qui peut être utilisée pour interagir avec un gestionnaire de fenêtres X compatible avec la spécification EWMH/NetWM. wmctrl peut demander des informations au gestionnaire de fenêtres et demander que certaines actions de gestion de fenêtres soient effectuées.
On peut très facilement récupérer des informations d’une fenêtre active.
L’utilitaire n’est pas installée par défaut, vous devez donc l’installer avec le gestionnaire de paquets de votre distributions Linux. Par exemple avec APT :
sudo apt install wmctrl
Puis utilisez les options -l (Liste des fenêtres gérées par le gestionnaire de fenêtres et -p (pour obtenir le PID)
wmctrl -lp
La première colonne contient toujours l’identité de la fenêtre sous la forme d’un entier hexadécimal, et la deuxième colonne contient toujours le numéro du bureau (un -1 est utilisé pour identifier une fenêtre collante).
Puis le PID, nom de l’ordinateur et le titre de la fenêtre s’affiche.
Liens
- Système d’exploitation et OS : qu’est-ce que c’est ? comment ça marche ?
- Découvrir Linux : Qu’est-ce que Linux ?
- Les distributions Linux : qu’est-ce que c’est ?
- Qu’est-ce qu’un environnement de bureau Linux
- Configurer et comprendre xorg.conf
- Linux : passer de Xorg (X11) à Wayland
- Wayland : serveur d’affichage pour Linux
- Commande PS : lister les processus sur Linux
- Linux : exécuter des commandes en arrière-plan
- Commande Nohup sur Linux : utilisations et exemples
- Commande jobs, fg et bg sur Linux : utilisations et exemples
- Top : lister les processus sur Linux
- Utiliser la commande Kill, Killall, pkill pour arrêter un processus sur Linux
- Comment utiliser les commandes nice et renice sur Linux pour définir des priorités de processus
- Comment trouver et tuer un processus Zombie sur Linux (Defunct)
- 6 exemples d’utilisation de la commande Kill sur Linux
- Qu’est-ce que le load average sur Linux
- Mesurer le débit et lister les connexions réseaux sur Linux
- La mémoire sur Linux : comment ça marche
- PID (Process IDentifier) : l’identifiant des processus
- VMStat : Mesures de performance Linux
L’article Linux : déterminer le PID d’un processus à partir de sa fenêtre (sous X11) est apparu en premier sur malekal.com.
0 Commentaires