16 votos

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

A veces, cuando estoy dirigiendo un killall comando desde la Terminal, un compañero de trabajo sugeriría o editaría mis scripts para mostrar killall -HUP .

¿Qué hace el -HUP parte hacer?

22voto

shsteimer Puntos 8749

El -HUP es la señal que se envía a los procesos por el killall comando. 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 el TERM señal que killall envía y el HUP depende en gran medida del programa al que se envía la señal. Al final del programa, reciben un valor de señal de interrupción diferente. Así, el programa puede captar las interrupciones y decidir, basándose en el valor, si debe hacer una cosa u otra.

El TERM (históricamente la "señal de terminación") suele enviarse a un programa para solicitar su terminación (que es una versión más amable de forzando su terminación con el KILL señal). El programa es libre de coger e ignorar la TERM señal. No tiene que terminar si no quiere y puede ignorar completamente esta señal.

El HUP (históricamente la "señal de colgado") se suele enviar 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 captan HUP y no están obligados a hacerlo por convención o dogma. Por ejemplo, el servidor web Apache atrapará un HUP y relee todos sus archivos de configuración pero no reinicia ningún proceso.

Si quieres terminar realmente los procesos y no preocuparte de si van a captar y obedecer la señal utiliza el KILL señal. No puede ser capturado o ignorado y resulta en la terminación del proceso.

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

2voto

Tech29 Puntos 91

El -HUP es la señal de "cuelgue" que puede hacer que una aplicación se detenga, lea su archivo de configuración y vuelva a empezar. No es necesariamente mejor que usarla sin ella.

killall Finder

y

killall -HUP Finder

Son respetuosamente lo mismo. En OS X Finder se relanza, pero vuelve 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 el -HUP función incorporada en él. Como el cartel anterior mencionó Apache. Lee sus archivos de configuración, pero no puede volver a lanzarse.

AppleAyuda.com

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.

Powered by:

X