文章预览
一 进程的贴身行囊 - 信号 信号是用户态进程与内核进行通信的一种方式,它是陷阱(软中断)的一种。如果想要查看所有的信号类型可以查询Linux手册。 信号抵达进行需要经过两个步骤,一是发送信号,而是接收信号。 信号与进程组 在Linux中进程的待处理的信号由 task_struct 结构体中的 signal 成员和 pending 成员进行记录, signal 成员和 pending 成员的区别在于, signal 成员中存放的待处理信号对整个进程组都是生效的,而 pending 成员只对指定的线程有效。 signal 成员由 signal_struct 结构体定义,该结构体中的 shared_pending 成员是管理共享信号的主要成员,它由由 sigpending 结构体定义, task_struct 结构体中的 pending 成员也由 sigpending 结构体定义。 struct signal_struct { refcount_t sigcnt; ...... struct sigpending shared_pending; ...... struct rw_semaphore exec_update
………………………………