更多python、Linux、网络安全学习内容,可移步:www.oldboyedu.com或关注\"老男孩Linux\"公众号
分类: LINUX
2021-11-18 14:42:31
不管是程序员还是运维人员,都会接触到Linux操作系统,如果有做Linux运维的打算,了解Linux操作系统是至关重要的,本篇文章整理了Linux操作系统中进程通信的概念,如果你还不太了解,请看下文:
进程通信是什么意思呢?
简称IPC,全称为Interprocess communication,进程间通信就是在不同进程之间传播或交换信息。
那进程通信的目的是什么呢?
1、数据传输:一个进程需要将它的数据发送给另一个进程;
2、资源共享:多个进程间共享同样的资源;
3、通知事件:一个进程需要向另一个或一组进程发送消息,通知它们发生了某种事情,比如进程终止时需要通知其父进程;
4、进程控制:有些进程希望完全控制另一个进程的执行,比如Debug进程,此时控制进程希望能够拦截另一个进程的所有陷入和异常,且能够及时知道它的状态改变。
其实简单来讲,本质就是让不同的进程共享同一份资源。
因为每个进程之间都是独立的,主要体现在数据层面,但代码逻辑层可以私有也可以公有,因此各个进程间要实现通信还是会相对来说比较困难的。
那如果想要实现通信,就要借助第三方资源,这些进程就可以通过这个第三方资源写入或读取数据,进而实现进程通信的功能。
进程间通信的分类:
管道:1、匿名管道;2、命名管道
System V IPC:1、System V 消息队列;2、System V 共享内存;3、System V 信号量。
POSIX IPC:1、消息队列;2、共享内存;3、信号量;4、互斥量;5、条件变量;6、读写锁。