I want to know the full information about the SIGTTIN signal, for example I want to know if the SIGTTIN signal can be handled or not.

This documentation only says the following about the SIGTTIN signal:

SIGTTIN 21,21,26 Stop Terminal input for background process

And typing man SIGTTIN in the terminal didn't return anything.


What I meant was not what signals you can send to a process, but rather whether the process that receives the signal can change the signal's default action. For example: the default action for the SIGTTIN signal is to stop the process, you can change this default action in your program using the sigaction() function. Now some signals don't allow you to change their default actions, and this is what I'm looking for (a documentation of what signals that don't allow you to change their default actions).

2 Answers 2


You can use this command, which is usually correct.

kill -l | egrep SIGTTIN

You can also write a quick PERL script to trap SIGTTIN + then run it in background + output a simple diagnostic message if your SIGTTIN handler runs.


I don't think you can change the default action of a signal, any more than ignoring the signal completely, or installing a signal handler. sigaction(2) says:

sa_handler specifies the action to be associated with signum and may be SIG_DFL for the default action, SIG_IGN to ignore this signal, or a pointer to a signal handling function. This function receives the signal number as its only argument.

If you want to change the action of some signal to one of the other default actions, you could raise another signal that does what you want (to get a core dump or to stop the process), or just plain exit (to terminate the process).

SIGKILL and SIGSTOP are the two signals that you can't catch or block. sigaction(2):

signum specifies the signal and can be any valid signal except SIGKILL and SIGSTOP.

and signal(7):

The signals SIGKILL and SIGSTOP cannot be caught, blocked, or ignored.

However, ignoring signals that came from real faults (invalid memory accesses, invalid instructions) might not leave the process in a very stable state.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .