WSTOPSIG(状态)== 22& WTERMSIG(状态)== 9;这些数字来自哪里?

时间:2013-02-26 23:39:34

标签: c fork waitpid

我正在查看esh(easy shell)的实现,并且在这种情况下无法理解22和9的信号是什么。理想情况下,有一个更具描述性的常量,但我找不到列表。

2 个答案:

答案 0 :(得分:5)

信号列表及其数字(包括您看到的两个)实际上是由POSIX.1-1990指定的,例如可以找到if you scroll down a little in this manual page

SIGKILL       9       Term    Kill signal
SIGTTOU   22,22,27    Stop    tty output for background process

答案 1 :(得分:2)

SIGTTOU 22,22,27    Stop    tty output for background process
SIGKILL  9         Term Kill signal

这些是信号编号。意义取决于平台 - 这些是Linux的。

请参阅:

http://linux.about.com/od/commands/l/blcmdl7_signal.htm

通过内核将信号发送到进程。在这种情况下,SIGTTOU表示后台进程试图写入tty。这会导致内核问题,从而引发该信号。默认情况下,该信号的结果是终止进程。