A veces, cuando ejecuto un killall
comando desde la Terminal, un compañero de trabajo sugiere o edita mis scripts para mostrar killall -HUP
.
¿Qué hace la -HUP
parte?
A veces, cuando ejecuto un killall
comando desde la Terminal, un compañero de trabajo sugiere o edita mis scripts para mostrar killall -HUP
.
¿Qué hace la -HUP
parte?
Respuestas:
La -HUP
opción es la señal que el killall
comando envía a los procesos . Puede ser un poco difícil de decir, pero la entrada relevante en el killall
manual es:
-SIGNAL Send a different signal instead of the default TERM. The signal may be specified
either as a name (with or without a leading SIG), or numerically.
La diferencia entre la TERM
señal predeterminada que killall
envía y la HUP
señal depende en gran medida del programa al que envía la señal. Al final del programa, reciben un valor de señal de interrupción diferente. Por lo tanto, el programa puede detectar las interrupciones y decidir, en función del valor, si deben hacer una cosa u otra.
La TERM
señal (históricamente la "señal de terminación") generalmente se envía a un programa para solicitar su terminación (que es una versión más estricta de forzar su terminación con la KILL
señal). El programa es libre de atrapar e ignorar la TERM
señal. No tiene que terminar si no quiere y puede ignorar por completo esta señal.
La HUP
señal (históricamente la "señal de bloqueo") generalmente se envía a un programa para solicitar que se reinicie y vuelva a leer toda su configuración en el proceso. El comportamiento real del programa depende de la implementación específica del programa. No todos los programas se capturan HUP
y no se requieren por convención o dogma. Por ejemplo, el servidor web Apache captará una HUP
señal y volverá a leer todos sus archivos de configuración, pero no reiniciará ningún proceso.
Si realmente desea terminar los procesos y no preocuparse de si van a atrapar y obedecer, la señal usa la KILL
señal. No puede ser atrapado o ignorado y da como resultado la finalización del proceso.
Para una buena revisión de las señales POSIX disponibles, consulte este artículo de Wikipedia .
#FAIL
personas que nunca leen más allá de los interruptores. ¡Gracias!
Esta -HUP
es la señal de "colgar" que puede hacer que una aplicación cese, lea su archivo de configuración y luego comience nuevamente. No es necesariamente mejor que usarlo sin él.
killall Finder
y
killall -HUP Finder
Son respetuosamente lo mismo. En OS X Finder se reiniciará, pero volverá a leer su archivo de configuración. Esto podría no ser realmente el caso si la aplicación que se está ejecutando no tiene la -HUP
función integrada. Como el cartel anterior mencionaba a Apache. Lee sus archivos de configuración, pero no puede iniciarse nuevamente.