(libc.info.gz) Job Control Signals
Info Catalog
(libc.info.gz) Asynchronous I/O Signals
(libc.info.gz) Standard Signals
(libc.info.gz) Operation Error Signals
24.2.5 Job Control Signals
--------------------------
These signals are used to support job control. If your system doesn't
support job control, then these macros are defined but the signals
themselves can't be raised or handled.
You should generally leave these signals alone unless you really
understand how job control works. Job Control.
-- Macro: int SIGCHLD
This signal is sent to a parent process whenever one of its child
processes terminates or stops.
The default action for this signal is to ignore it. If you
establish a handler for this signal while there are child processes
that have terminated but not reported their status via 'wait' or
'waitpid' ( Process Completion), whether your new handler
applies to those processes or not depends on the particular
operating system.
-- Macro: int SIGCLD
This is an obsolete name for 'SIGCHLD'.
-- Macro: int SIGCONT
You can send a 'SIGCONT' signal to a process to make it continue.
This signal is special--it always makes the process continue if it
is stopped, before the signal is delivered. The default behavior
is to do nothing else. You cannot block this signal. You can set
a handler, but 'SIGCONT' always makes the process continue
regardless.
Most programs have no reason to handle 'SIGCONT'; they simply
resume execution without realizing they were ever stopped. You can
use a handler for 'SIGCONT' to make a program do something special
when it is stopped and continued--for example, to reprint a prompt
when it is suspended while waiting for input.
-- Macro: int SIGSTOP
The 'SIGSTOP' signal stops the process. It cannot be handled,
ignored, or blocked.
-- Macro: int SIGTSTP
The 'SIGTSTP' signal is an interactive stop signal. Unlike
'SIGSTOP', this signal can be handled and ignored.
Your program should handle this signal if you have a special need
to leave files or system tables in a secure state when a process is
stopped. For example, programs that turn off echoing should handle
'SIGTSTP' so they can turn echoing back on before stopping.
This signal is generated when the user types the SUSP character
(normally 'C-z'). For more information about terminal driver
support, see Special Characters.
-- Macro: int SIGTTIN
A process cannot read from the user's terminal while it is running
as a background job. When any process in a background job tries to
read from the terminal, all of the processes in the job are sent a
'SIGTTIN' signal. The default action for this signal is to stop
the process. For more information about how this interacts with
the terminal driver, see Access to the Terminal.
-- Macro: int SIGTTOU
This is similar to 'SIGTTIN', but is generated when a process in a
background job attempts to write to the terminal or set its modes.
Again, the default action is to stop the process. 'SIGTTOU' is
only generated for an attempt to write to the terminal if the
'TOSTOP' output mode is set; Output Modes.
While a process is stopped, no more signals can be delivered to it
until it is continued, except 'SIGKILL' signals and (obviously)
'SIGCONT' signals. The signals are marked as pending, but not delivered
until the process is continued. The 'SIGKILL' signal always causes
termination of the process and can't be blocked, handled or ignored.
You can ignore 'SIGCONT', but it always causes the process to be
continued anyway if it is stopped. Sending a 'SIGCONT' signal to a
process causes any pending stop signals for that process to be
discarded. Likewise, any pending 'SIGCONT' signals for a process are
discarded when it receives a stop signal.
When a process in an orphaned process group ( Orphaned Process
Groups) receives a 'SIGTSTP', 'SIGTTIN', or 'SIGTTOU' signal and does
not handle it, the process does not stop. Stopping the process would
probably not be very useful, since there is no shell program that will
notice it stop and allow the user to continue it. What happens instead
depends on the operating system you are using. Some systems may do
nothing; others may deliver another signal instead, such as 'SIGKILL' or
'SIGHUP'. On GNU/Hurd systems, the process dies with 'SIGKILL'; this
avoids the problem of many stopped, orphaned processes lying around the
system.
Info Catalog
(libc.info.gz) Asynchronous I/O Signals
(libc.info.gz) Standard Signals
(libc.info.gz) Operation Error Signals
automatically generated by
info2html