Cómo cerrar programas bloqueados en Linux

Cómo cerrar programas bloqueados en Linux

Cuando se trabaja en el ordenador la pesadilla constante es. encontrarse con una interfaz gráfica de usuario congelada y sin la posibilidad de guardar los documentos abiertos. Lamentablemente esto puede ocurrir en todos los sistemas operativos, sin embargo (al menos en ciertas ocasiones) es posible cerrar programas bloqueados en Linux con interfaz gráfica sin necesidad de reiniciar el sistema ni de cerrar y volver a abrir el servidor gráfico, eventualidades en las que se perderían todos los cambios de los documentos abiertos y no guardados. En caso de caída del servidor gráfico (más conocido como «escritorio congelado»), en Linux se puede recurrir al pequeño pero eficiente Xkill.

XKill es una aplicación que te permite. desconectar cualquier aplicación del servidor de gráficos, haciendo que…aparente cierre aparente, ya que podría ocurrir que la propia aplicación seguiría abierta y funcionando en segundo planoaunque ya no es visible en X.

En el 90% de los casos utilizar XKill en una aplicación bloqueada le permite reanudar la actividad normal del escritorio. Veamos juntos cómo cerrar programas bloqueados en Linux con Xkill y luego usando las teclas mágicas directamente en el kernel.

Cerrar programas bloqueados en Linux – Xkill

Si el escritorio utilizado lo proporciona y si el servidor gráfico aún nos lo permite, se puede invocar Xkill a través del «runner» del sistema (el clásico «ejecutar aplicación»). Para proceder, necesitamos pulse la combinación de teclas ALT+F2, escribir en el interior

xkill

y pulse enviar. En este momento, el cursor del ratón se liberará del servidor X y, si está bloqueado, volverá a estar activo pero cambiará su aspecto: la flecha cambiará a una especie de «X» o incluso una calavera. Todo lo que tienes que hacer es pulse en cualquier parte de la ventana perteneciente a la aplicación bloqueada para desconectarla de X y, aparentemente, cerrarlo.

No se desespere si ALT+F2 no funciona: simplemente abra un TTY pulsando la combinación de teclas ALT+CTRL+F2 , introduzca sus credenciales de acceso y escriba el comando

xkill -display :0

En este punto será necesario volver a la interfaz gráfica escribiendo ALT+CTRL+F7 (en algunas distribuciones puede ser necesario pulsar ALT+CTRL+F8 o ALT+CTRL+F1 en su lugar). El cursor se habrá modificado y ahora debería ser posible cerrar el programa directamente como en el caso anterior.

Una vez desbloqueado el servidor gráfico, el consejo es guarde todo su trabajo pendiente y reinicie su ordenador. para borrar de la memoria cualquier rastro del programa bloqueado. También puede eliminar estos rastros sin reiniciar el ordenador mediante el monitor del sistema o el terminal (con una combinación de ps/top e kill -9 PID).

Cerrar programas bloqueados en Linux – Teclas mágicas

No todo el mundo lo sabe pero, utilizando la tecla SysReq -o SysRq o, de nuevo, Rsist-, presente en todos los teclados, es posible dar las siguientes instrucciones comandos» directos al kernel mediante atajos de teclado. Estos comandos también incluyen los relacionados con el destrucción de procesosque podría permitirte cerrar las aplicaciones bloqueadas en Linux y evitar un reinicio si Xkill no funcionara.

Veamos juntos las combinaciones de teclas más útiles para nuestros propósitos:

  • ALT + SysReq + F: cierra sólo un proceso, concretamente el que más recursos ocupa;
  • ALT + SysReq + K: cierra todos los procesos a la vez.

BONUS: Reinicio «limpio» si el sistema está completamente bloqueado

Si el sistema está completamente bloqueado y no es posible realizar ninguna operación desde el servidor gráfico, entonces es necesario reiniciar el equipo: dependiendo del estado de su ordenador puede elegir entre realizar un reinicio limpio a través de CTRL+ALT+DEL o si usando las teclas mágicas una vez más.

Para intentar reiniciar utilizando CTRL+ALT+DEL mientras se realiza toda la rutina de limpieza del kernel y protección del sistema de archivos, pulse la combinación de teclas CTRL+ALT+F1 para acceder a una consola a pantalla completa, y desde ahí, pulsar la combinación de teclas CTRL+ALT+DEL. Después de completar toda la rutina de limpieza, el sistema se reiniciará.

Sin embargo, si. no se puede reiniciar de esta manera (por ejemplo, porque la gestión del TTY también está bloqueada), puede realizar manualmente la rutina de limpieza y protección emitiendo comandos directos al kernel a través de las teclas mágicas. Para ello, la combinación de teclas que hay que utilizar es ALT+SysReq+REISUB (pulsando una letra cada vez, en el orden indicado, y manteniendo siempre pulsado ALT+SysReq).

Cada una de las teclas realiza una operación diferente en el núcleo. En detalle:

  • R: cambiar al mapeo ASCII (o Modo XLATE) para el controlador del teclado (que permite introducir caracteres independientemente del resto);
  • E: envía la señal a terminación a todos los procesos (excepto init o systemd);
  • I: envía la señal a destrucción a todos los procesos (excepto init o systemd);
  • S: sincroniza todos los sistemas de archivos montados, completando las operaciones de E/S y limpiando los búferes;
  • U: reconstruye todos los sistemas de archivos montados en modo de sólo lectura;
  • B: reiniciar el sistema.