Linux 进程间通信1

一、进程间通信概述

         进程间通信:在用户空间实现进程通信是不可能的,通过Linux内核通信

       1.数据传输 : 一个进程需要将它的数据发送给另一个进程
       2.资源共享 :多个进程之间共享同样的资源
       3.通知事件 :一个进程需要向另一个或一组进程发送消息,通知它们发生了某种事件
       4.进程控制 :有些进程希望完全控制另一个进程的执行(如Debug进程),此时控制进程希望能够拦截另一个进程的所有操作,并能够及时知道它的状态改变

二、现在Linux使用的进程间通信方式包括:
       1、管道(pipe)和有名管道(FIFO)
       2、信号(signal)
       3、消息队列
       4、共享内存
       5、信号灯
       6、套接字(socket)

三、管道通信

     1、管道是单向的、先进先出的,它把一个进程的输出和另一个进程的输入连接在一起。

     2、文件io中的open函数不能创建管道文件,只能用pipe函数来创建管道。

     3、无名管道创建:int pipe(int filedis[2]);
           当一个管道建立时,它会创建两个文件描述符:
           filedis[0] 用于读管道,
           filedis[1] 用于写管道

    4、 管道用于不同进程间通信。通常先创建一个管道,再通过fork函数创建一个子进程,该子进程会继承父进程所创建的管道

    5、必须在系统调用fork( )前调用pipe( ),否则子进程将不会继承文件描述符

    6、命名管道和无名管道基本相同,但也有不同点:
 无名管道只能由父子进程使用;
 但是通过命名管道,不相关的进程也能交换数据

   7、int mkfifo(const char * pathname, mode_t mode)
         pathname:FIFO文件名
         mode:属性(见文件操作章节)
         一旦创建了一个FIFO,就可用open打开它,一般的文件访问函数(close、read、write等)都可用于FIFO

四、信号通信

    1、信号(signal)机制是Unix系统中最为古老的进程间通信机制,很多条件可以产生一个信号:
 1、当用户按某些按键时,产生信号
 2、硬件异常产生信号:除数为0、无效的存储访问等等。这些情况通常由硬件检测到,将其通知内核,然后内核产生适当的信号通知进程,例如,内核对正访问一个无效                 存储区的进程产生一个SIGSEGV信号
          3、进程用kill函数将信号发送给另一个进程
          4、用户可用kill命令将信号发送给其他进程

   2、SIGKILL\SIGSTOP。
         这两种信号不能被忽略的原因是:
 它们向超级用户提供了一种终止或停止进程的方法

   3、执行用户希望的动作
 通知内核在某种信号发生时,调用一个用户函数。在用户函数中,执行用户希望的处理


   4、  执行系统默认动作

  对大多数信号的系统默认动作是终止该进程
   5、使用alarm函数可以设置一个时间值(闹钟时间),当所设置的时间到了时,产生SIGALRM信号.如果不捕捉此信号,则默认动作是终止该进程
   6、pause函数使调用进程挂起直至捕捉到一个信号。
#include <unistd.h>
int pause(void)
                        只有执行了一个信号处理函数后,挂起才结束

   7、1、SIG_IGN:忽略此信号
         2、SIG_DFL: 按系统默认方式处理
         3、信号处理函数名:使用该函数处理

当前,全球经济格局深刻调整,数字化浪潮席卷各行各业,智能物流作为现代物流发展的必然趋势和关键支撑,正迎来前所未有的发展机遇。以人工智能、物联网、大数据、云计算、区块链等前沿信息技术的快速迭代与深度融合为驱动,智能物流不再是传统物流的简单技术叠加,而是正在经历一场从自动化向智能化、从被动响应向主动预测、从信息孤岛向全面互联的深刻变革。展望2025年,智能物流系统将不再局限于提升效率、降低成本的基本目标,而是要构建一个感知更全面、决策更精准、执行更高效、协同更顺畅的智慧运行体系。这要求我们必须超越传统思维定式,以系统化、前瞻性的视角,全面规划和实施智能物流系统的建设。本实施方案正是基于对行业发展趋势的深刻洞察和对未来需求的精准把握而制定。我们的核心目标在于:通过构建一个集成了进感知技术、大数据分析引擎、智能决策算法和高效协同平台的综合智能物流系统,实现物流全链路的可视化、透明化和智能化管理。这不仅是技术层面的革新,更是管理模式和服务能力的全面提升。本方案旨在明确系统建设的战略方向、关键任务、技术路径和实施步骤,确保通过系统化部署,有效应对日益复杂的供应链环境,提升整体物流韧性,优化资源配置效率,降低运营成本,并终为客户创造更卓越的价值体验。我们致力于通过本方案的实施,引领智能物流迈向更高水平,为构建现代化经济体系、推动高质量发展提供强有力的物流保障。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值