![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux系统编程
文章平均质量分 87
Eikis
因上努力,果上随缘。
展开
-
C语言中执行shell命令
1、system系统调用 int system(const char * string); system()会调用fork()产生子进程,由子进程来调用/bin/sh -c string来执行参数string字符串所代表的命令,此命令执行完后随即返回原调用的进程。在调用system()期间SIGCHLD 信号会被暂时搁置,SIGINT和SIGQUIT 信号则会被忽略。 返回原创 2017-04-17 21:05:52 · 2719 阅读 · 0 评论 -
进程间通讯之信号量(实例)
1、信号量 特点: 1、信号量是一个计数器,用于多进程对共享数据对象的访问。 2、信号量的初始值是任一正数,说明有多少个共享资源单位可供共享应用。(常用的信号量形式:初始值为1,即某一资源某一时刻只能给单一进程占有。称为二元信号量或双态信号量)。 控制过程: ①、测试控制该资源的信号量。 ②、若信号量的值为正,则进程可以使用该资源。进程将信号量的值减1,表示它使用了一个资源单位原创 2017-04-18 21:58:18 · 1102 阅读 · 1 评论 -
进程间通讯之消息队列(实例)
消息队列概念可以参考前面《进程间通讯之概念》 1、msgget #include #include #include #include void get_msginfo(int msgid); int main(void) { int msgid,ret; //key=ftok(); //msgid=msgget(IPC_PRIVATE,0600);原创 2017-04-20 22:00:54 · 351 阅读 · 0 评论 -
进程间通讯之内存共享(实例)
内存共享概念可以参考前面《进程间通讯之概念》 1、shmget 通过键值创建或获取共享ID #include #include #include #include #define MEM_SIZE 4096 int main(void) { int ret,shmid; key_t key; //key=ftok()原创 2017-04-24 21:51:29 · 493 阅读 · 0 评论 -
进程间通讯之概念
进程间通信(interprocess communiction) 进程间通信方式: ①、信号 ②、管道(命名 匿名) ③、消息队列 ④、信号量 ⑤、共享内存 ⑥、socket ⑦、流 ⑧、磁盘文件 ⑨、环境变量 1、管道 管道是Unix系统ipc最古老的形式 #define PIPE_BUF 4096 管道每次可以写最大的数据为 PIPE_BUF(为原子原创 2017-04-19 21:47:33 · 373 阅读 · 0 评论