摘要: 使用匿名管道 一、什么是管道 如果你使用过Linux的命令,那么对于管道这个名词你一定不会感觉到陌生,因为我们通常通过符号“|"来使用管道,但是管理的真正定义是什么呢?管道是一个进程连接数据流到另一个进程的通道,它通常是用作把一个进程的输出通过管道连接到另一个进程的输入。 举个例子,在shell中输 阅读全文
posted @ 2017-08-22 17:06 爱吃土豆的男孩 阅读(6375) 评论(0) 推荐(0) 编辑
摘要: 一、什么是消息队列 消息队列提供了一种从一个进程向另一个进程发送一个数据块的方法。 每个数据块都被认为含有一个类型,接收进程可以独立地接收含有不同类型的数据结构。我们可以通过发送消息来避免命名管道的同步和阻塞问题。但是消息队列与命名管道一样,每个数据块都有一个最大长度的限制。 Linux用宏MSGM 阅读全文
posted @ 2017-08-22 16:40 爱吃土豆的男孩 阅读(3840) 评论(0) 推荐(0) 编辑
摘要: 介绍内存共享前,说下之前的误区,觉得,可以用指针来在父子进程中传递数据,其实,在fork()后,父子进程的地址空间是相互独立的!所以在父子进程间传递指针是没有意义的。 这里就涉及到物理地址和逻辑地址(或称虚拟地址)的概念。 从逻辑地址到物理地址的映射称为地址重定向。分为: 静态重定向--在程序装入主 阅读全文
posted @ 2017-08-22 16:27 爱吃土豆的男孩 阅读(14616) 评论(0) 推荐(1) 编辑
摘要: signal.h是C标准函数库中的信号处理部分, 定义了程序执行时如何处理不同的信号。信号用作进程间通信, 报告异常行为(如除零)、用户的一些按键组合(如同时按下Ctrl与C键,产生信号SIGINT)。 C++中的对应头文件是csignal。 /**linux下signum.h**/ /* Sign 阅读全文
posted @ 2017-08-22 15:43 爱吃土豆的男孩 阅读(2121) 评论(0) 推荐(0) 编辑
摘要: 原文:http://blog.csdn.NET/nvd11/article/details/8856278 假如我们在编写1个c程序时想调用1个shell脚本或者执行1段 bash shell命令, 应该如何实现呢? 其实在<stdlib.h> 这个头文件中包含了1个调用shell命令或者脚本的函数 阅读全文
posted @ 2017-08-22 14:12 爱吃土豆的男孩 阅读(3988) 评论(0) 推荐(1) 编辑
摘要: Semaphore(信号量) C中有两个信号量的头文件<semaphore.h> 和<sys/sem.h>。 <sys/sem.h> provides the interface for XSI (originally Unix System V) semaphores. <semaphore.h> 阅读全文
posted @ 2017-08-22 11:11 爱吃土豆的男孩 阅读(415) 评论(0) 推荐(0) 编辑