¿Decir un PID de proceso por su ventana?

Respuestas:

57

Según su solicitud sobre la otra pregunta, aquí está mi respuesta nuevamente:

Estoy seguro de que hay una forma más limpia de hacerlo, pero para su segunda pregunta, puede intentar esto:

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

Esto hará que su cursor sea una cruz con la que puede hacer clic en una ventana abierta. Informará el PID y el comando en el terminal en el que lo ejecutó.

En general, xprop y xwininfo le proporcionarán mucha información sobre una ventana abierta.

Los "apóstrofes" que utilicé para el gato circundante son la tecla ~ en mi teclado sin presionar shift. Esto debería darle más información sobre el tema:

Acentos graves y el backquote

Ágil
fuente
xprop dice: _NET_WM_PID: no encontrado. Este método no es lo suficientemente infalible ...
Calmarius
55
Esto es más fácil de recordar: xprop | grep PID(aunque solo imprime la ID del proceso)
KajMagnus
Esta respuesta me recordó que ya tenía un applet de canela haciendo exactamente esto en mi barra de tareas, que había olvidado por completo. Guau. Gracias por eso al menos!
Fabian Röling
16

Puede intentar xprop | grep WM_CLASSy luego hacer clic en la ventana que le interesa.

Ejemplos:

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

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

Ejecute este comando en una terminal:

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

El puntero del mouse se reemplazará con una mira; selecciona la ventana que te interesa.

Este método muestra solo el PID del proceso que posee esa ventana (que parece ser lo que desea).

totti
fuente
2

Puede obtener información del proceso usando:

$ ps -f --pid $(xprop _NET_WM_PID | grep -o '[0-9]*')
Wernight
fuente
0

Al ejecutar xprop | awk '/_NET_WM_PID\(CARDINAL\)/{print $NF}'y hacer clic en la ventana de la que desea el PID, se imprimirá el PID en el terminal.

ScottKu
fuente