Chinaunix

标题: Linux进程通信 [打印本页]

作者: hanzhi09    时间: 2009-11-26 22:00
标题: Linux进程通信
    Linux进程通信主要包括管道、信号、信号量、内存共享、消息队列等方法。其中管道又可分为无名管道与命名管道(也叫FIFO)两种,前者主要用于在有关联的如父子进程之间进行通信;而后者适用范围更广,但使用起来相对麻烦,需要显示的创建fifo文件。
    信号量、内存共享、消息队列在Linux平台上有两套实现:System V IPC与Posix IPC。前者出生较早,有较多实现使用这种方式,但性能与功能较差;后者反之。
    System V IPC三种通信方式接口分别形如 sem*、shm*、msg*,*常为get、ctl等以及针对相应通信方式特有的操作;而Posix IPC为sem_*、shm_*、mq_*,*操作基本与System V IPC同。
    另外,System V IPC三种通信方式有一个统一的接口:ipc(),通信方式通过参数指定,其它参数分别为first、second、third,界面统一,但并不直观,不推荐使用。
    这里只开个头,具体的各种通信的细节,到使用的时候再完善。

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/106856/showart_2104936.html




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2