Dadas las ID producidas por wmctrl -l, me gustaría poder matar el proceso vinculado a la ID de la ventana.
¿Cómo sugerirías hacerlo?
command-line
bash
batch
wmctrl
usuario123456
fuente
fuente

Si usa
wmctrl -lplos PID, están en la tercera columna.Para una ID de ventana determinada, puede usar
(reemplace WID con su ID de ventana)
fuente
col3.wmctrlen realidad tiene otra bandera-ppara listar PID.Una vez que sepa esto, es un ejercicio trivial de extraer el PID de esa ventana y pasarlo a
killfuente
También puedes usar
xkill -id [id]. La utilidad xkill funciona de manera diferente a las otras respuestas: en lugar de cerrar la ventana o eliminar el proceso directamente, le indica al servidor X que desconecte al cliente que creó la ventana. Esto normalmente tiene el efecto de hacer que el proceso finalice incluso para un proceso remoto.Ventajas y desventajas de cada enfoque:
wmctrl -ccierra una ventana "con gracia", como si usted mismo hubiera hecho clic en el botón Cerrar del administrador de ventanas. Esto puede no matar el proceso, y puede que ni siquiera cierre la ventana, si la aplicación no quiere que la ventana se cierre o se congele.El uso de pid from
wmctrl -lpwithkillestá garantizado para matar el proceso, pero puede requerir trabajo adicional o no funcionar en absoluto si el proceso puede ejecutarse en una máquina diferente.xkilles posible que no finalice el proceso si está diseñado para poder recuperarse de un bloqueo del servidor X o pérdida de conectividad de red, pero la mayoría de las aplicaciones simplemente se bloquean en estas circunstancias. En cualquier caso, las ventanas se habrán ido. Y los procesos remotos y locales se manejan de manera idéntica.fuente
uso
xkill. Simplemente escribaxkillsu terminal y haga clic en la ventana requerida.fuente