2025年07月01日
我会用几篇博客总结一下在Linux中进程之间通信的几种方法,我会把这个开头的摘要部分在这个系列的每篇博客中都打出来
进程之间通信的方式
在以一切皆文件为原则的Linux系统中,管道也是一种文件(特殊文件),可以使用mkfifo命令创建一个管道文件
在管道文件的前面有一个p来标识管道文件
2025年07月01日
导航博客园首页发新随笔发新文章联系订阅管理 | 进程间通信(五)—信号 我会用几篇博客总结一下在Linux中进程之间通信的几种方法,我会把这个开头的摘要部分在这个系列的每篇博客中都打出来 进程之间通信的方式
|
2025年07月01日
Linux下的多进程编程初步
1 引言
对于没有接触过Unix/Linux操作系统的人来说,fork是最难理解的概念之一:它执行一次却返回两个值。fork函数是Unix系统最杰出的成就之一,它是七十年代UNIX早期的开发者经过长期在理论和实践上的艰苦探索后取得的成果,一方面,它使操作系统在进程管理上付出了最小的代价,另一方面,又为程序员提供了一个简洁明了的多进程方法。与DOS和早期的Windows不同,Unix/Linux系统是真正实现多任务操作的系统,可以说,不使用多进程编程,就不能算是真正的Linux环境下编程。
2025年07月01日
速度慢,容量有限(64kB,ulimit -a可以查询的pipe size 指的是一次性写入的大小限制),只有父子进程能通讯 半双工的(即数据只能在一个方向上流动)----(匿名管道)
int pipe(int fd[2]); // 返回值:若成功返回0,失败返回-1
当一个管道建立时,它会创建两个文件描述符:fd[0]为读而打开,fd[1]为写而打开
要关闭管道只需将这两个文件描述符关闭即可。
2025年07月01日
进程间通讯(Inter-Process Communication,简称IPC)是运行在一个系统中的进程之间共享信息和数据的一种机制。在C++中,可以使用多种方法实现进程间通讯,包括管道、信号、共享内存、消息队列、套接字等。
2025年07月01日
面试官问这个问题可能是为了考察候选人对Linux系统中进程间通信(IPC)机制的理解,特别是共享内存的原理和实现。共享内存是一种高效的IPC方式,适用于需要频繁交换大量数据的场景。面试官可能希望候选人不仅了解共享内存的基本概念,还能在实际编程中应用这一技术,并理解其背后的系统调用和内存管理机制。