1 votos

Obtener el nombre del proceso detrás de una ventana

Estoy tratando de hacer un script que comprueba si Spotify está cerrado. He intentado lo siguiente para imprimir el número de abrir Spotify en windows, pero no funciona.

wmctrl -l | grep "Spotify" | wc -l

La razón es porque cuando Spotify es la reproducción de música, el título de la ventana cambia el nombre de la canción que se está reproduciendo, y no incluye el "Spotify".

Yo estaba pensando que podía hacer algo como lo siguiente para imprimir el número de abrir Spotify windows:

wmctrl -l | awk '{print $1}' | xargs -I id ... | wc -l

Pero no estoy seguro de lo que comando puedo utilizar para comprobar el nombre del proceso que se ejecuta en una ventana, dada la IDENTIFICACIÓN de la ventana volvió de wmctrl (en la forma 0x06200001)

1voto

 wmctrl -l | awk '{print $1}' | xargs -i xprop -id {} | grep WM_CLASS\(STRING\)\ =\ \"spotify\" | wc -l
 

Usé xargs para ejecutar xprop -id <window-id> en cada ventana abierta, y para cada ventana de Spotify, la salida de xprop mostraría (entre muchas otras cosas) una línea como esta:

 WM_CLASS(STRING) = "spotify", "Spotify"
 

Así que introduje xprop en grep WM_CLASS(STRING) = "spotify" , evitando obviamente los espacios, las citas y los paréntesis.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: