¿Hay algo que pueda hacer desde la terminal cuando un programa se congela y Ubuntu deja de responder?

¿Hay algo que pueda hacer desde la terminal cuando un programa se congela y Ubuntu deja de responder?

Estaba trabajando normalmente y de repente un programa colapsó: dejó de responder y su ventana se volvió gris. Después de eso apareció este mensaje preguntando qué hacer: cerrar el programa o esperar a que responda.

Seleccioné cerrar el programa, pero no funcionó como esperaba: todo Ubuntu se congeló y no pude hacer nada.

Entonces me doy cuenta de que escribiendo Ctrl + Alt + tpodía abrir la terminal, y funcionó: abrió la terminal.Pero no sabía qué hacer a continuación.

Entonces mi pregunta es:¿Qué hacer desde la terminal si un programa se congela?En mi caso fue nautilus (me estaba conectando a un servidor remoto, usándolo como programa FTP) y terminé reiniciando la máquina con sudo reboot.

Apesta. hubiera sido mucho mejorpara cerrar el programa que no responde, pero ¿cómo puedo hacerlo? ¿Y qué pasa si no sé el nombre del programa que no responde?

Para su información, he leído este tema "Los elementos de la interfaz de usuario dejan de responder por completo" y no creo que sea el mismo caso aquí, porque normalmente no tengo este problema, es algo poco común, y la memoria funciona bien y la máquina es bastante nueva (Intel Core i7, 8 Gb de ram ).

Respuesta1

Tu puedes hacer xkill. Esta pequeña e ingeniosa utilidad destruye automáticamente la siguiente ventana en la que hace clic.

Otra opción que puedes usar es algo llamado topo htop. Busque un proceso extraño, especialmente algo marcado como "zombi" o que consuma muchos recursos del sistema. Luego puedes matarlo usando la Kclave. Utilice el código de eliminación 9, ya que provoca una eliminación instantánea y forzada del proceso.

Digamos que el programa malo es nautilus. Utilice uno de estos métodos:

  1. Úselo xkillen la terminal y haga clic en la ventana de Nautilus. X finalizará su sesión, provocando que Nautilus se bloquee. Envíe spam con la ESCclave durante unos segundos para asegurarse de que Xkill aún no se esté ejecutando.
  2. killall -9 nautilus
  3. Corre top, búscalo nautilusy mátalo desde arriba.

Tenga en cuenta que es posible que necesite utilizar sudoprivilegios para finalizar algunos procesos.

Respuesta2

Una de las grandes ventajas que tenemos de un sistema basado en terminal es que la respuesta es un rotundo SÍ.

Lo que normalmente hago es cambiar a la terminal 1 (su escritorio siempre está en la terminal 7) con control- alt- f1.

Si sabe cuál es el programa, esto será bastante fácil: busque el ID del proceso de esa tarea y elimínelo. La tarea desaparecerá en la terminal 7 y, si esto soluciona el problema, su sistema responderá nuevamente.

Ejemplo de uso de Firefox: cuando inicia Firefox, obtiene un ID de proceso y puede verlos con ps -ef | grep firefox. Reemplaza Firefox con lo que quieras buscar.

ps -ef |grep firefox
rinzwind  5046  1484 48 19:52 ?        00:00:01 /usr/lib/firefox/firefox
rinzwind  5113  4992  0 19:52 pts/4    00:00:00 grep --color=auto firefox

(el proceso que se refiere al grep es mi comando)

El primer número detrás de mi nombre de inicio de sesión es el ID del proceso. kill -9 5046matará a Firefox:

~$ kill -9 5046
~$ ps -ef |grep firefox
rinzwind  5148  4992  0 19:54 pts/4    00:00:00 grep --color=auto firefox

y Firefox desapareció de mi escritorio.

El problema normalmente es identificar el ID de proceso correcto: cuando tienes 5 sesiones de Firefox abiertas... conseguir el correcto será un problema. Entonces es posible que necesites agregar algo más de lógica para reducirlo.


Advertencia: use el sentido común. Se debe evitar eliminar los ID de proceso inferiores (menos de 500).

información relacionada