SIGUSR1和SIGUSR2

SIGUSR1和SIGUSR2描述| 用户定义的信号

|

默认动作| 进程异常终止
SA_SIGINFO宏

在POSIX兼容的平台上，SIGUSR1和SIGUSR2是发送给一个进程的信号，它表示了用户定义的情况。它们的符号常量在头文件`signal.h`中定义。在不同的平台上，信号的编号可能发生变化，因此需要使用符号名称。

## 语源

[编辑]

SIG是信号名的通用前缀。USR是user-defined的缩写，即用户定义的。

## 使用

[编辑]

与实时信号SIGRTMIN和SIGRTMAX相似，SIGUSR1和SIGUSR2的含义在POSIX中没有定义。它们的用途在不同的程序中可能有所不同。

许多程序使用SIGUSR1在线程和进程间进行同步，例如在Linux 2.0中的LinuxThreads线程库（已被废弃，为NPTL所代替）。其它的程序，例如dd的某些版本，会在收到该信号时输出当前状态（Mac OS X的dd实现会在收到USR1时暂停）。USR1亦通常被用来告知应用程序重载配置文件；例如，向Apache HTTP服务器发送一个USR1信号将导致以下步骤的发生：停止接受新的连接，等待当前连接停止，重新载入配置文件，重新打开日志文件，重启服务器，从而实现相对平滑的不关机的更改。

## 参见

[编辑]

* LinuxThreads and SIGUSR1/SIGUSR2

* 查
* 论
* 编

计算机信号

POSIX|

SIGABRT · SIGALRM · SIGFPE · SIGHUP · SIGILL · SIGINT · SIGKILL · SIGPIPE · SIGQUIT · SIGSEGV · SIGTERM · SIGUSR1 · SIGUSR2 · SIGCHLD · SIGCONT · SIGSTOP · SIGTSTP · SIGTTIN（英语：SIGTTIN） · SIGTTOU · SIGBUS · SIGPOLL · SIGPROF · SIGSYS · SIGTRAP · SIGURG（英语：SIGURG） · SIGVTALRM · SIGXCPU · SIGXFSZ · 实时信号可由用户定义（SIGRTMIN+n至SIGRTMAX）

非POSIX|

SIGIOT · SIGEMT · SIGSTKFLT · SIGIO · SIGCLD · SIGINFO · SIGPWR · SIGLOST · SIGWINCH · SIGUNUSED
*[查]: 查看该模板
*[论]: 讨论该模板
*[编]: 编辑该模板