Tengo una aplicación que no morirá: se fue del muelle, pero la ventana permanece (con una pelota de playa, si paso el mouse sobre ella). No usa CPU, pero quiero que desaparezca.
¿Hay algo más fuerte que "Force Quit" para realmente matar una aplicación?
lion
macos
applications
Conocer
fuente
fuente
SIGTERM
y lo mismo en el cuadro de diálogo y el Monitor de actividad.Respuestas:
Si conoce el nombre de la aplicación, puede verificar en el Monitor de actividad para ver si todavía se está ejecutando allí y probar Force Quit. Si eso no funciona, tome nota del ID de proceso de la aplicación (pid). Vaya a la Terminal y escriba
kill [pid]
, reemplazando "[pid]" con el número que anotó anteriormente. Si eso no funciona, intentekill -3 [pid]
y si eso no funcionakill -9 [pid]
. Si el proceso es propiedad de un usuario diferente (esto no es probable), es posible que tenga que sustituirkill
consudo kill
y escriba la contraseña cuando se le solicite.Si la aplicación no aparece en el Monitor de actividad o no pudo
kill
verla, la ventana puede quedar atascada en otro lugar y la aplicación simplemente ya no se está ejecutando. En este caso, a veces (no siempre) puede funcionar parakillall SystemUIServer
okillall Dock
.Si nada de esto funciona, tendrá que cerrar sesión y volver a iniciarla o reiniciarla. Las pocas veces que llegué a este punto, la aplicación estaba tan atascada que impidió el cierre de sesión o el cierre, por lo que tuve que reiniciar.
fuente
sudo
, aunque el proceso es mío), sin cambios. ¿killall SystemUIServer
Afectará a cualquiera de mis otras aplicaciones abiertas, como olvidar las posiciones de las ventanas?kill -l
, -3 es SIGQUIT y -9 es SIGKILL ("muerte no capturable, no ignorable").man kill
(que se encuentra entre los 10 mejores comandos de UNIX) para verlos a todos.La ventana de cierre forzado
killall
, ykill
todos los procesos de envío de señales TERM por defecto. Puedes usarlokillall -kill
si eso no funciona.Si ejecuta
sudo dtrace -n 'proc:::signal-send /pid/ { printf("%s -%d %d",execname,args[2],args[1]->pr_pid); }'
y cierra alguna aplicación desde la ventana de forzar cierre, la señal generalmente se muestra como -15 (TERM). Pero cuando cierra un proceso en segundo plano (o una aplicación que no se muestra en el Dock) desde el Monitor de actividad, la señal generalmente se muestra como -9 (KILL).fuente
SIGKILL
funciona, la aplicación probablemente esté en modo de suspensión ininterrumpida , y realmente no hay nada que pueda hacer (salvo reiniciar).He tenido situaciones en las que Force Quit, Activity Monitor
kill
y otros métodos no funcionaron, y mi Mac no pudo apagarse por eso.En este caso,
sudo shutdown -r now
funcionó cuando nada más funcionaría, y probablemente sea mejor que hacer un apagado completo a través del botón de encendido.fuente
Como en las respuestas anteriores, la forma más sólida de terminar cualquier proceso es
SIGKILL
, por ejemplokill -9 process_id
.Sin embargo, existen procesos que son simplemente imposibles
Force Quit
ni imposibleskill
. Llamaron comozombie
procesos.Aquí hay un breve script que creará un
zombie
proceso durante dos minutos:Ejecute el script anterior en la Terminal y obtendrá la salida, como la siguiente:
Si revisa la columna de estado para el proceso no matable (en este caso: 50571) verá la
Z
bandera, qué significazombie
.Puede intentar enviar cualquier
kill
señal (por ejemplokill -9 50571
) y el proceso seguirá existiendo. De todos modos, no perjudica mucho a su sistema, porque de hecho no existe, solo ocupa la tabla de procesos.En el ejemplo anterior, en 120 segundos se borrará.
fuente
Esto es lo que debes hacer:
Un proceso como este se elimina mejor en modo seguro si va a intentar una desinstalación.
Saludos, Bryan
fuente