SIGUSR1 and SIGUSR2

From Wikipedia, the free encyclopedia

SIGUSR1 and SIGUSR2
Description User-defined signals
Default action Abnormal termination of the process
SA_SIGINFO macros
None

On POSIX-compliant platforms, SIGUSR1 and SIGUSR2 are signals sent to computer programs to indicate user-defined conditions. The symbolic constants for them are defined in the header file signal.h. Symbolic signal names are used because signal numbers can vary across platforms.

[edit] Etymology

SIG is a common prefix for signal names. USR is an abbreviation for user-defined.

[edit] Usage

Along with the realtime signals SIGRTMIN through SIGRTMAX, the semantics of SIGUSR1 and SIGUSR2 are not specified by POSIX. Use varies widely from one application to another.

Many applications use USR1 to synchronize internal data between threads and processes, for example by the LinuxThreads threading library under Linux 2.0. Other applications, such as dd, will print status when given this signal. USR1 is also often used to tell an application to reload config files; for example, sending the Apache HTTP Server a USR1, will ask the server send to stop allowing new connections, wait for the current ones to die, reread the config files, and restart the server, allowing for relatively smooth in-production changes.

[edit] See also

Languages