linux shell操作 - 04 进程间通信

news/2024/5/19 0:34:28 标签: linux, 服务器, signal, inter-process, communication

文章目录

  • Signal 信号
    • 信号定义
    • 信号的生命周期
    • 信号分类
    • linux进程通信案例

Signal 信号

信号定义

  1. Linux信号是进程间通信的一种方式,通过向目标进程发送一个特定的信号,让其执行相应的处理操作;

  2. 向目标进程发送信号时,内核会将信号添加到目标进程的信号队列中,且每个进程都有一个信号表来表示该进程对不同信号的处理情况。

信号的生命周期

Linux信号生命周期是指信号的产生、传递、处理和终止的整个过程。

  • 信号的产生可以由多种事件触发,当一个事件发生时,内核会为每个进程确定一个目标信号,并将其发送给相应的进程。

  • 信号传递是指信号从一个进程传递到另一个进程中。在传递过程中,信号可以被阻塞或者被忽略、信号处理函数进行处理。

  • 信号处理是指目标进程对信号的响应行为。比如终止进程、忽略信号、自定义信号处理函数来处理信号。

  • 信号的终止是指信号处理函数执行完成,进程恢复到正常执行状态。

信号分类

  • Linux一共64种信号,每一个信号都有唯一整数值;又可以分为两类:可靠、不可靠;

  • 不可靠信号又称非实时信号,是指在信号传递过程中可能丢失或产生不可预测行为的信号,1-31号信号为不可靠信号。

  • 可靠信号又称实时信号,是保证传递和处理的信号。当一个进程接收到可靠信号时,系统会确保该信号不会丢失,并且会等待进程处理完该信号后再继续执行其他操作,Linux使用队列来保存待处理的信号,保证它们按照接收的顺序被进程处理。34-64号信号为可靠信号。

  • 执行kill -l 可以查看所有的信号;

  • 执行信号的处理动作称为信号递达(Delivery);
    信号从产生到递达之间的状态,称为信号未决(Pending);
    信号阻塞,被阻塞的信号将保持在未决状态;

linux_32">linux进程通信案例

  1. 编写shell 脚本proc1.sh,使用trap注册handler函数与一个信号;然后执行proc1.sh 并进入事件循环。
  2. 编写shell脚本proc2.sh,使用kill -s SIGINT pid 向proc1.sh进程发送注册的信号,查看proc1.sh中handler函数是否执行。
在这里插入代码片

http://www.niftyadmin.cn/n/5201305.html

相关文章

三点的最近距离

题目描述 题目中会给你三个整数 a,b,c,表示三个点在数轴上所处的位置。对于每一个点,你最多可以移动一次,也可以选择不移动,现在请你编写代码计算,移动后三个点的最小的距离和为多少? 输入输出格式 输入格式 一行三…

Spring Framework IoC依赖注入-按Bean类型注入

theme: smartblue Spring Framework 作为一个领先的企业级开发框架,以其强大的依赖注入(Dependency Injection,DI)机制而闻名。DI使得开发者可以更加灵活地管理对象之间的关系,而不必过多关注对象的创建和组装。在Spr…

VMware——WindowServer2012R2环境安装mysql5.7.14解压版_互为主从(图解版)

目录 一、服务器信息二、192.168.132.35服务器上安装mysql(主)2.1、环境变量配置2.2、安装2.2.1、修改配置文件内容2.2.2、初始化mysql并指定超级用户密码2.2.3、安装mysql服务2.2.4、启动mysql服务2.2.5、登录用户管理及密码修改2.2.6、开启远程访问 三…

qcow2、raw、vmdk等镜像格式工具

如果没有qemu,可以从这里下载安装:https://qemu.weilnetz.de/w64/

Go 语言中 For 循环:语法、使用方法和实例教程

for循环用于多次执行特定的代码块,每次都可以使用不同的值。每次循环执行都称为一次迭代。for循环可以包含最多三个语句: 语法 for 语句1; 语句2; 语句3 {// 每次迭代要执行的代码 }语句1:初始化循环计数器的值。语句2:对每次循环…

金融企业为啥不选择云服务器还是考虑服务器托管

尽管云主机在近年来的发展中取得了巨大的成功,但在金融行业中,一些客户仍然倾向于将服务器托管到数据中心,而不是使用云主机。以下是一些金融客户选择将服务器托管到数据中心的原因: 数据安全性:金融行业对数据的安全性…

电力工作记录仪、智能安全帽、智能布控球助力智能电网建设

电力行业的建设和发展是国家经济发展的重要支撑,而智能电网作为电力系统的重要组成部分,它的安全高效运行关乎到整个电力系统乃至民生的稳定和安全。为了加快国家经济的发展以及满足人们对电力的需求和用电可靠性的要求,国家早在十二规划中就…

代码随想录二刷 | 链表 | 删除链表的倒数第N个节点

代码随想录二刷 | 链表 | 删除链表的倒数第N个节点 题目描述解题思路 & 代码实现双指针法 题目描述 19.删除链表的倒数第N个节点 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 示例 1: 输入…