• linux进程间通讯


    1. pipe系统调用的使用格式

    #include<unistd.h>

    int pipe(int fd[2])

    功能:创建一个简单的管道,若成功则为数组fd分配两个文件描述符,其中fd[0]用于读取管道,fdp[1]用于写入管道。

    返回值:成功返回0,失败返回-1。

     

    2. 命名管道:mkfifo系统调用的使用格式:

    #include<sys/types.h>

    #include<sys/stat.h>

    功能:创建命名管道

    返回:若成功则为0,若出错则为-1.

     

    3.信号量:

    semget()系统调用的使用格式:

    #include<sys/sem.h>

    功能:创建一个新的信号量或取得一个新的键值

    返回值:成功返回信号量标志码,失败返回-1。

     

    semop()系统调用的使用格式:

    #include<sys/sem.h>

    功能:用户改变信号量的值。

    返回值:成功返回0,否则-1.

     

    4.共享内存

    shmget()系统调用的使用格式:

    #include<sys.shm.h>

    功能:创建共享内存。

    返回值:成功返回共享内存标识码,失败返回-1.

     

    shmat()的使用格式:

    #include<sys.shm.h>

    功能:允许进程访问一块共享内存(共享内存刚创建时不能使用)。

    返回值:成功返回共享内存的起始地址,失败返回-1.

     

    shmdt()的使用格式:

    #include<sys/shm.h>

    功能:释放共享内存。

    返回值:成功时返回0.失败时返回-1.

     

    shmctl()的使用方法:

    #include<sys/shm.h>

    功能:共享内存控制函数。

    返回值:成功返回0,失败返回-1。

     

    5.消息队列:

    msgget()的使用格式:

    #include<sys/types.h>

    #include<sys/ipc.h>

    #include<sys/msg.h>

    功能:创建一个新的消息队列,或者希望存取一个已经存在的消息队列。

    返回值:成功返回消息队列标识符,失败返回-1.

     

    msgsnd()的头文件:

    #include<sys/types.h>

    #include<sys/ipc.h>

    #include<sys/msg.h>

    功能:往队列中发送一条消息。

    返回值:成功返回0,错误返回-1.

     

    msgrcv()的头文件:

    #include<sys/types.h>

    #include<sys/ipc.h>

    #include<sys/msg.h>

    功能:读取消息,从消息队列中取走消息

    返回值:成功返回0,错误返回-1.

     

    msgctl()的头文件:

    #include<sys/types.h>

    #include<sys/ipc.h>

    #include<sys/msg.h>

    功能:对消息队列的操作

    返回值:成功返回0,错误返回-1.

     

    6. 信号与信号机制

    signal函数的头文件:

    #include<signal.h>


    转载http://www.cnblogs.com/auleaf/archive/2011/09/19/2180944.html

    有梦想就不会觉得苦.Do you know what is the glittering life?

  • 相关阅读:
    mysql同步 小问题
    通过 XtraBackup 实现不停机不锁表搭建主从同步
    grep -A -B选项详解和mysqlbinlog
    MySQL存储过程中的3种循环
    mysql利用存储过程批量插入数据
    React routerV4 笔记
    数据结构算法基础定义
    网站性能优化
    去重除了indexOf的其他方法(使用对象Key的方法)及统计重复次数
    立即执行函数的两种写法及闭包
  • 原文地址:https://www.cnblogs.com/zhiweiyouzhishenghuo/p/5005514.html
Copyright © 2020-2023  润新知