¿Qué hace -HUP cuando se usa con killall?

12

A veces, cuando ejecuto un comando killall desde Terminal, un compañero de trabajo sugiere o edita mis scripts para mostrar killall -HUP .

¿Qué hace la parte -HUP ?

    
pregunta Danijel-James W 28.09.2013 - 17:01

2 respuestas

16

La opción -HUP es la señal que se envía a los procesos mediante el comando killall . Puede ser un poco difícil de decir, pero la entrada correspondiente 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 señal TERM predeterminada que killall envía y la señal HUP depende en gran medida del programa al que envíes 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 señal TERM (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 políticamente de forcing su terminación con la señal KILL ) . El programa es libre de capturar e ignorar la señal TERM . No tiene que terminar si no quiere y puede ignorar completamente esta señal.

La señal HUP (históricamente la "señal de suspensión") 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 capturan HUP y no están obligados a hacerlo por convención o dogma. Por ejemplo, el servidor web Apache detectará una señal HUP y volverá a leer todos sus archivos de configuración, pero no reiniciará ningún proceso.

Si desea finalizar realmente los procesos y no preocuparse por si van a capturar y obedecer, la señal usa la señal KILL . No se puede capturar ni ignorar y da como resultado la terminación del proceso.

Para una buena revisión de las señales POSIX disponibles vea este artículo de Wikipedia .

    
respondido por el Ian C. 28.09.2013 - 17:51
1

-HUP es la señal de "colgar" que puede hacer que una aplicación se detenga, leer su archivo de configuración y luego comenzar de nuevo. No es necesariamente mejor que usarlo sin.

killall Finder

y

killall -HUP Finder

Son respetuosamente iguales. En OS X Finder se reiniciará, pero volverá a leer su archivo de configuración. Este podría no ser realmente el caso si la aplicación que se está ejecutando no tiene la función -HUP incorporada. Como mencionaba el anterior póster de apache. Lee sus archivos de configuración, pero no puede iniciarse de nuevo.

    
respondido por el Tech29 29.09.2013 - 11:13

Lea otras preguntas en las etiquetas