§4.第四次课linux进程间通信(234KB).pptVIP

  • 10
  • 0
  • 约1.13万字
  • 约 55页
  • 2018-04-09 发布于未知
  • 举报
3.3.1 signal() #include signal.h void (*signal (int signo, void (*func)(int)))(int) 返回:成功则为以前的信号处理配置,若出错则为SIG_ERR func的值是: (a)常数SIG_IGN,或(b)常数SIG_DFL,或(c)当接到此信号后要调用的函数的地址。如果指定SIG_IGN ,则向内核表示忽略此信号(有两个信号SIGKILL和SIGSTOP不能忽略)。如果指定SIG_DFL,则表示接到此信号后的动作是系统默认动作。当指定函数地址时,我们称此为捕捉此信号。我们称此函数为信号处理程序(signal handler)或信号捕捉函数(signal-catching function)。 signal函数原型太复杂了,如果使用下面的typedef,则可使其简化。 typedef void sign(int); sign *signal(int, handler *); 实例见:mysignal.c 3.3.2 信号集函数组 我们需要有一个能表示多个信号——信号集(signal set)的数据类型。将在sigprocmask()这样的函数中使用这种数据类型,以告诉内核不允许发生该信号集中的信号。信号集函数组包含几大模块: 创建函数集、登记信号集、检测信号集。 图4 信号操作一般流程 Sigempty

文档评论(0)

1亿VIP精品文档

相关文档