Linux内核简介-北京理工大学珠海学院Linux系统应用与编程.pptVIP

  • 8
  • 0
  • 约8.73千字
  • 约 60页
  • 2019-08-04 发布于天津
  • 举报

Linux内核简介-北京理工大学珠海学院Linux系统应用与编程.ppt

3.进程对信号可采取的处理方式 进程彼此间也可用系统提供的系统调用(如kill( ))发送信号 普通进程只能向具有相同uid和gid的进程发送信号或向相同进程组中的其他进程发送信号 进程接到信号后,在一定时机(如中断处理末尾)做相应处理,可采取以下处理方式: (1)忽略信号。进程可忽略收到的信号,但不能忽略SIGKILL和SIGSTOP信号。 (2)阻塞信号。进程可以选择对某些信号予以阻塞。 (3)由进程处理该信号。用户在trap命令中可以指定处理信号的程序,从而进程本身可在系统中标明处理信号的处理程序的地址。当发出该信号时,就由标明的处理程序进行处理。 (4)由系统进行默认处理。如上所述,系统内核对各种信号(除用户自定义之外)都规定了相应的处理程序。在默认情况下,信号就由内核处理,即执行内核预定的处理程序。 4.对信号的检测和处理流程 信号的检测与处理的过程如图所示。图中的①~⑤标出处理流程的顺序。从图中可以看出,信号的检测是在系统空间中进行,而对信号的处理却是在用户空间中执行。 捕获信号 设置超时:当定时器时间到时,就向调用进程发出SIGALRM信号。如果调用进程没有捕捉到这个信号,则其默认动作是中止进程 函数原型: #include unistd.h unsigned int alarm(unsigned int s

文档评论(0)

1亿VIP精品文档

相关文档