网站建设跟网站开发有什么区别吗,数据调查的权威网站,东莞玩具加工东莞网站建设,表白网页免费在线制作文章目录 Signal 信号信号定义信号的生命周期信号分类linux进程通信案例 Signal 信号
信号定义 Linux信号是进程间通信的一种方式#xff0c;通过向目标进程发送一个特定的信号#xff0c;让其执行相应的处理操作#xff1b; 向目标进程发送信号时#xff0c;内核会将信号… 文章目录 Signal 信号信号定义信号的生命周期信号分类linux进程通信案例 Signal 信号
信号定义 Linux信号是进程间通信的一种方式通过向目标进程发送一个特定的信号让其执行相应的处理操作 向目标进程发送信号时内核会将信号添加到目标进程的信号队列中且每个进程都有一个信号表来表示该进程对不同信号的处理情况。
信号的生命周期
Linux信号生命周期是指信号的产生、传递、处理和终止的整个过程。 信号的产生可以由多种事件触发当一个事件发生时内核会为每个进程确定一个目标信号并将其发送给相应的进程。 信号传递是指信号从一个进程传递到另一个进程中。在传递过程中信号可以被阻塞或者被忽略、信号处理函数进行处理。 信号处理是指目标进程对信号的响应行为。比如终止进程、忽略信号、自定义信号处理函数来处理信号。 信号的终止是指信号处理函数执行完成进程恢复到正常执行状态。
信号分类 Linux一共64种信号每一个信号都有唯一整数值又可以分为两类可靠、不可靠 不可靠信号又称非实时信号是指在信号传递过程中可能丢失或产生不可预测行为的信号1-31号信号为不可靠信号。 可靠信号又称实时信号是保证传递和处理的信号。当一个进程接收到可靠信号时系统会确保该信号不会丢失并且会等待进程处理完该信号后再继续执行其他操作Linux使用队列来保存待处理的信号保证它们按照接收的顺序被进程处理。34-64号信号为可靠信号。 执行kill -l 可以查看所有的信号 执行信号的处理动作称为信号递达Delivery 信号从产生到递达之间的状态称为信号未决Pending 信号阻塞被阻塞的信号将保持在未决状态;
linux进程通信案例
编写shell 脚本proc1.sh使用trap注册handler函数与一个信号然后执行proc1.sh 并进入事件循环。编写shell脚本proc2.sh使用kill -s SIGINT pid 向proc1.sh进程发送注册的信号查看proc1.sh中handler函数是否执行。
在这里插入代码片