A veces, cuando ejecuto un killallcomando desde la Terminal, un compañero de trabajo sugiere o edita mis scripts para mostrar killall -HUP.
¿Qué hace la -HUPparte?
A veces, cuando ejecuto un killallcomando desde la Terminal, un compañero de trabajo sugiere o edita mis scripts para mostrar killall -HUP.
¿Qué hace la -HUPparte?
Respuestas:
La -HUPopción es la señal que el killallcomando envía a los procesos . Puede ser un poco difícil de decir, pero la entrada relevante en el killallmanual 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 TERMseñal predeterminada que killallenvía y la HUPseñ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 TERMseñ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 KILLseñal). El programa es libre de atrapar e ignorar la TERMseñal. No tiene que terminar si no quiere y puede ignorar por completo esta señal.
La HUPseñ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 HUPy no se requieren por convención o dogma. Por ejemplo, el servidor web Apache captará una HUPseñ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 KILLseñ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 .
#FAILpersonas que nunca leen más allá de los interruptores. ¡Gracias!
Esta -HUPes 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 -HUPfunción integrada. Como el cartel anterior mencionaba a Apache. Lee sus archivos de configuración, pero no puede iniciarse nuevamente.