Quiero salir de ciertas aplicaciones en mi Mac usando Terminal. Por ejemplo, ¿cómo puedo matar a "Slack"? ¿Necesito su número PID?
Este es el mejor método, porque reproduce lo que ocurre cuando se utiliza File>Quit
del menú.
Quiero salir de ciertas aplicaciones en mi Mac usando Terminal. Por ejemplo, ¿cómo puedo matar a "Slack"? ¿Necesito su número PID?
Este es el mejor método, porque reproduce lo que ocurre cuando se utiliza File>Quit
del menú.
Huh. Siempre he utilizado osascript -e 'tell application "Slack" to quit'
pero si la sintaxis más corta funciona, obviamente es preferible. Esta es definitivamente una mejor respuesta que cualquier cosa que sugiera kill
o cualquiera de sus variantes.
@TJLuoma Creo que si seleccionas la señal correcta, entonces pkill
es tan elegante como cualquier otro método. Yo también estoy a favor del AppleScript, aunque he creado una función quit
para hacerla con brisa. Sin embargo, si crear un proceso AppleScript no es necesario, pkill -QUIT -x Slack
debería estar bien.
No, no es necesario conocer su PID .
Puedes usar:
pkill -x Slack
O:
killall Slack
Nota: Asegúrese de leer el página del manual para el que comando que elija, para ver los distintos opciones disponible para el comando según sea pertinente para su uso particular. En Terminal tipo Por ejemplo man pkill
y pulse enter o simplemente tipo el comando y Haga clic con el botón derecho del ratón en en él, entonces seleccione : Abrir la página del hombre
Como todavía no tengo la reputación para comentar, lo digo como una respuesta separada. pkill
sin ninguna bandera hace no coinciden con un proceso específico. Por ejemplo, ejecutar pkill foo
se dirigiría a los procesos denominados foo
pero también se dirigiría a los procesos denominados foobar
. Esto se debe a que utiliza expresiones regulares.
Si desea matar un proceso específico, puede pasarle el parámetro -x
bandera. Por ejemplo, pkill -x foo
. Esto utilizará nombres exactos en lugar de expresiones regulares.
Por ejemplo, en su caso, pkill -x Slack
hará el truco.
Puede instalar htop
(vía brew
por ejemplo).
Tendrá que ejecutar esto como Root o con sudo
. Esencialmente, es un monitor de basado en texto.
Seleccione el proceso que desea matar (con las teclas de dirección o con el ratón).
A continuación, pulse k
para enviar una señal al proceso y luego 9
para elegir el SIGKILL
señal.
No estoy seguro de Slack, pero algunas aplicaciones ejecutan varios procesos y es posible que desee matar sólo uno (me parece que a menudo tengo que hacer esto con iTunes, por ejemplo). En ese caso, puedes ejecutar
ps -e | grep -i slack
Para encontrar todos los procesos con "slack" insensible a mayúsculas y minúsculas en el nombre. La salida debería ser como (sin la cabecera):
PID TTY TIME CMD
649 pts/1 00:00:00 bash
La primera columna será su PID. A continuación, puede utilizarlo para matar específicamente ese proceso:
kill -9 649
Sustituyendo el 649 por el PID que has encontrado al llamar a ps
.
Kill envía una señal para terminar la aplicación. No es necesario utilizar -9 (kill) si la aplicación está respondiendo. Se corre el riesgo de perder datos no guardados
Del mismo modo, si quieres matar, por ejemplo, las 5 instancias de algún proceso con nombre, puedes filtrar la salida de ps
en el valor de CMD y luego matar todas las primeras entradas en esas líneas.
@Carl Witthoft, puede utilizar simplemente killall procname
Por ejemplo killall Slack
y lo hará matar todas las ocurrencias de Slack o lo que sea procname
es. No es necesario utilizar ps
¡!
AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.