【发布时间】:2013-02-12 15:24:25
【问题描述】:
我正在查看 esh(easy shell)的实现,但无法理解在这种情况下 22 和 9 是什么信号。理想情况下,有一个更具描述性的常数,但我找不到列表。
【问题讨论】:
-
理想情况下是的。如果来源属于您,请将
9更改为SIGKILL并将22更改为SIGTTOU。
我正在查看 esh(easy shell)的实现,但无法理解在这种情况下 22 和 9 是什么信号。理想情况下,有一个更具描述性的常数,但我找不到列表。
【问题讨论】:
9 更改为SIGKILL 并将22 更改为SIGTTOU。
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。这会导致内核问题,从而引发该信号。默认情况下,该信号的结果是终止进程。
【讨论】:
信号列表及其编号(包括您看到的两个)实际上是由 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
【讨论】: