Indiquer un processus PID par sa fenêtre?

54

Comment puis-je identifier un nom d'image de processus (à exécuter à partir d'un terminal utilisant sudo) affiché sur l'interface utilisateur Ubuntu?

Ted
la source
1
Regardez ici: stackoverflow.com/questions/2041532/…
sulaweyo

Réponses:

57

Par votre demande sur l'autre question, voici à nouveau ma réponse:

Je suis sûr qu'il existe une méthode plus propre pour le faire, mais pour votre deuxième question, vous pouvez essayer ceci:

   xprop _NET_WM_PID | sed 's/_NET_WM_PID(CARDINAL) = //' | ps `cat`

Cela fera de votre curseur une croix avec laquelle vous pourrez cliquer sur une fenêtre ouverte. Il indiquera le PID et la commande dans le terminal dans lequel vous l'avez exécuté.

En général, xprop et xwininfo vous fourniront de nombreuses informations sur une fenêtre ouverte.

Les "apostrophes" que j'ai utilisées pour entourer le chat sont la touche ~ de mon clavier sans appuyer sur la touche Maj. Cela devrait vous donner plus d'informations sur le sujet:

Grave Accents et le backquote

Agile
la source
xprop dit: _NET_WM_PID: non trouvé. Cette méthode n'est pas assez infaillible ...
Calmarius
5
C’est plus facile à retenir: xprop | grep PID(bien qu’il n’imprime que l’ID de processus)
KajMagnus
Cette réponse vient de me rappeler que j'avais déjà une applet Cinnamon faisant exactement cela dans ma barre des tâches, ce que j'avais totalement oublié. Sensationnel. Merci au moins pour ça!
Fabian Röling
16

Vous pouvez essayer xprop | grep WM_CLASSet ensuite cliquer sur la fenêtre qui vous intéresse.

Exemples:

#> xprop | grep WM_CLASS
WM_CLASS(STRING) = "gedit", "Gedit"

#> xprop | grep WM_CLASS
WM_CLASS(STRING) = "gcalctool", "Gcalctool"
Avio
la source
9

Exécutez cette commande dans un terminal:

xprop | awk '/PID/ {print $3}'

Le pointeur de votre souris sera remplacé par un réticule; Sélectionnez la fenêtre qui vous intéresse.

Cette méthode affiche uniquement le PID du processus qui possède cette fenêtre (ce qui semble être ce que vous voulez).

totti
la source
2

Vous pouvez obtenir des informations sur les processus en utilisant:

$ ps -f --pid $(xprop _NET_WM_PID | grep -o '[0-9]*')
La nuit
la source
0

Exécuter xprop | awk '/_NET_WM_PID\(CARDINAL\)/{print $NF}'et cliquer sur la fenêtre dont vous voulez que le PID imprimera le PID sur le terminal.

ScottKu
la source