操作笔记:Linux系统进程通信

运维 系统运维
目前,越来越多的人选择应用Linux,不过,对于Linux你熟悉么?应用Linux要具备怎样的知识,本文为你详细介绍Linux系统进程间通信主要几种手段,为你在学习Linux系统进程间通信时起一定的作用。

目前,越来越多的人选择应用Linux,不过,对于Linux你熟悉么?应用Linux要具备怎样的知识,本文为你详细介绍Linux系统进程间通信主要几种手段,为你在学习Linux系统进程间通信时起一定的作用。

(1)管道(Pipe):管道可用于具有亲缘关系进程间的通信,允许一个进程和另一个与它有共同祖先的进程之间进行通信。

(2)命名管道(named pipe):命名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信。命名管道在文件系统中有对应的文件名。命名管道通过命令mkfifo或系统调用mkfifo来创建。

(3)信号(Signal):信号是比较复杂的通信方式,用于通知接受进程有某种事件发生,除了用于进程间通信外,进程还可以发送信号给进程本身;linux除了支持Unix早期信号语义函数sigal外,还支持语义符合Posix.1标准的信号函数sigaction(实际上,该函数是基于BSD的,BSD为了实现可靠信号机制,又能够统一对外接口,用sigaction函数重新实现了signal函数)。

(4)消息(Message)队列:消息队列是消息的链接表,包括Posix消息队列system V消息队列。有足够权限的进程可以向队列中添加消息,被赋予读权限的进程则可以读走队列中的消息。消息队列克服了信号承载信息量少,管道只能承载无格式字节流以及缓冲区大小受限等缺

(5)共享内存:使得多个进程可以访问同一块内存空间,是最快的可用IPC形式。是针对其他通信机制运行效率较低而设计的。往往与其它通信机制,如信号量结合使用,来达到进程间的同步及互斥。

(6)内存映射(mapped memory):内存映射允许任何多个进程间通信,每一个使用该机制的进程通过把一个共享的文件映射到自己的进程地址空间来实现它。

(7)信号量(semaphore):主要作为进程间以及同一进程不同线程之间的同步手段。

(8)套接口(Socket):更为一般的进程间通信机制,可用于不同机器之间的进程间通信。起初是由Unix系统的BSD分支开发出来的,但现在一般可以移植到其它类Unix系统上:Linux和System V的变种都支持套接字。希望你能学会Linux系统进程间通信的几种方法。

【编辑推荐】

  1. 全面解析Linux集群技术的要点
  2. LifeKeeper又一款Linux服务器集群软件
  3. 讲解Linux服务器集群技术
  4. 详解保护Linux服务器七步骤
  5. 全面介绍Linux配置ntop
责任编辑:小霞 来源: 博客园
相关推荐

2009-12-11 14:25:42

Linux查看系统时间

2009-12-09 17:07:56

Linux命令

2009-12-15 14:08:14

Linux系统备份ta

2009-12-02 17:23:03

Linux mysql

2009-12-23 14:45:27

Linux Frame

2009-12-24 15:53:53

Linux配置wpa

2009-12-16 10:53:28

Linux硬盘分区

2010-01-06 11:17:52

2009-12-14 17:56:25

Linux操作系统

2010-01-05 10:00:48

Linux进程间通信

2009-12-22 16:16:17

Linux无线网卡

2022-01-14 07:25:28

Linux 安装字体Linux 系统

2009-12-15 18:27:51

Linux操作系统

2009-11-27 13:03:42

SUSE FAQ修改X

2021-07-06 21:30:06

Linux进程通信

2018-01-12 14:35:00

Linux进程共享内存

2017-06-19 13:36:12

Linux进程消息队列

2021-09-30 10:45:33

Linux进程通信

2011-06-22 17:27:19

QT 进程通信

2010-01-07 17:03:47

Linux操作系统
点赞
收藏

51CTO技术栈公众号