
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 · 2802 阅读 · 0 评论 -
进程间通讯之信号量(实例)
1、信号量特点:1、信号量是一个计数器,用于多进程对共享数据对象的访问。2、信号量的初始值是任一正数,说明有多少个共享资源单位可供共享应用。(常用的信号量形式:初始值为1,即某一资源某一时刻只能给单一进程占有。称为二元信号量或双态信号量)。控制过程:①、测试控制该资源的信号量。②、若信号量的值为正,则进程可以使用该资源。进程将信号量的值减1,表示它使用了一个资源单位原创 2017-04-18 21:58:18 · 1174 阅读 · 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 · 404 阅读 · 0 评论 -
进程间通讯之内存共享(实例)
内存共享概念可以参考前面《进程间通讯之概念》1、shmget 通过键值创建或获取共享ID#include #include #include #include #define MEM_SIZE 4096int main(void){ int ret,shmid; key_t key; //key=ftok()原创 2017-04-24 21:51:29 · 545 阅读 · 0 评论 -
进程间通讯之概念
进程间通信(interprocess communiction)进程间通信方式:①、信号②、管道(命名 匿名)③、消息队列④、信号量⑤、共享内存⑥、socket⑦、流⑧、磁盘文件⑨、环境变量1、管道管道是Unix系统ipc最古老的形式#define PIPE_BUF 4096管道每次可以写最大的数据为 PIPE_BUF(为原子原创 2017-04-19 21:47:33 · 427 阅读 · 0 评论