¿Dónde encontrar la información completa sobre una señal?

¿Dónde encontrar la información completa sobre una señal?

Quiero saber la información completa sobre la SIGTTINseñal, por ejemplo quiero saber si la SIGTTINseñal se puede manejar o no.

Estedocumentaciónsolo dice lo siguiente sobre la SIGTTINseñal:

SIGTTIN 21,21,26 Detener entrada de terminal para proceso en segundo plano

Y escribir man SIGTTINen la terminal no arrojó nada.


Editar:

Lo que quise decir no fue qué señales se pueden enviar a un proceso, sino más bien si el proceso que recibe la señal puede cambiar la acción predeterminada de la señal. Por ejemplo: la acción predeterminada para la SIGTTINseñal es detener el proceso, puede cambiar esta acción predeterminada en su programa usando la sigaction()función. Ahora bien, algunas señales no te permiten cambiar sus acciones predeterminadas, y esto es lo que estoy buscando (una documentación de qué señales no te permiten cambiar sus acciones predeterminadas).

Respuesta1

Puede utilizar este comando, que suele ser correcto.

kill -l | egrep SIGTTIN

También puede escribir un script PERL rápido para capturar SIGTTIN + luego ejecutarlo en segundo plano + generar un mensaje de diagnóstico simple si se ejecuta su controlador SIGTTIN.

Respuesta2

No creo que puedas cambiar la acción predeterminada de una señal, como tampoco ignorarla por completo o instalar un controlador de señales.sigaction(2)dice:

sa_handlerespecifica la acción que se asociará con signum y puede ser SIG_DFLpara la acción predeterminada, SIG_IGNignorar esta señal o un puntero a una función de manejo de señales. Esta función recibe el número de señal como único argumento.

Si desea cambiar la acción de alguna señal a una de las otras acciones predeterminadas, puede generar otra señal que haga lo que desea (obtener un volcado del núcleo o detener el proceso), o simplemente salir (para finalizar el proceso). ).

SIGKILLy SIGSTOPson las dos señales que no puedes captar ni bloquear. sigaction(2):

firmarespecifica la señal y puede ser cualquier señal válida excepto SIGKILLy SIGSTOP.

ysignal(7):

Las señales SIGKILLno SIGSTOPse pueden captar, bloquear ni ignorar.

Sin embargo, ignorar las señales que provienen de fallas reales (accesos a la memoria no válidos, instrucciones no válidas) podría no dejar el proceso en un estado muy estable.

información relacionada