El motivo killall LightsOn
no funciona porque todo el nombre del proceso de la aplicación AppleScript es applet
. Por ejemplo, la ruta ejecutable es:
../LightsOn.app/Contents/MacOS/applet
En general, y suponiendo que los procesos no están bloqueados, se podría usar killall applet
, sin embargo, esto terminará con todas las aplicaciones en ejecución de AppleScript , y por supuesto, eso puede no ser deseable.
Cuando se cuelga un proceso, deberás usar una señal KILL
, por ejemplo:
killall -KILL applet
Sin embargo, pkill
es el camino a seguir para apuntar fácilmente a una aplicación específica AppleScript y debido a que está bloqueada ... use una señal KILL
, por ejemplo:
pkill -9 -f LightsOn
O:
pkill -KILL -f LightsOn
En esta instancia, -9
es solo otra forma de decir -KILL
.
Ahora con pkill
y usando la opción -f
, se puede usar más de la lista de argumentos completa , por ejemplo:
pkill -9 -f /Applications/LightsOn.app/Contents/MacOS/applet
Entonces no hay ambigüedad en cuanto a qué applet
proceso está apuntando. Uno puede usar la mayor parte de la lista de argumentos completa que considere necesario para apuntar al proceso correcto.
Por ejemplo, pkill -9 -f LightsOn
terminará una aplicación AppleScript llamada NoLightsOn
, así que siempre use suficiente de la lista de argumentos completa para finalizar el proceso correcto.
Para referencia:
Desde la página del manual pkill
:
-f Match against full argument lists. The default is to match
against process names.
Desde la página del manual killall
:
Some of the more commonly used signals:
1 HUP (hang up)
2 INT (interrupt)
3 QUIT (quit)
6 ABRT (abort)
9 KILL (non-catchable, non-ignorable kill)
14 ALRM (alarm clock)
15 TERM (software termination signal)
Tenga en cuenta que esta es solo una lista parcial de señal y se usa con muchas de las diferentes utilidades que pueden terminar un proceso. Consulte las distintas páginas del manual de las utilidades utilizadas para obtener información adicional.