51
Dev开发社区
首页
文章
问答
工具
搜索
登录
注册
#进程
高级进程间通信之基于STREAMS的管道
基于STREAMS的管道(简称STREAMS管道,STREAMSpipe)是一个双向(全双工)管道。单个STREAMS管道就能向父、子进程提供双向的数据流。将http://www.cnblogs.com/nufangrensheng/p/3560130.html中图15-1中的单向箭头全部换成双向箭头,即为观察STRE...
代码星球
·
2021-02-21
高级
进程
通信
基于
STREAMS
进程间通信之客户进程-服务器进程属性
下面详细说明客户进程和服务器进程的某些属性,这些属性受到它们之间所使用的IPC类型的影响。最简单的关系类型是使客户调用fork然后调用exec执行所希望的服务器进程。在fork之前先创建两个半双工管道使数据可在两个方向传输。http://www.cnblogs.com/nufangrensheng/p/3561379....
代码星球
·
2021-02-21
进程
通信
客户
服务器
属性
进程间通信之POSIX信号量
POSIX信号量接口,意在解决XSI信号量接口的几个不足之处:POSIX信号量接口相比于XSI信号量接口,允许更高性能的实现。POSIX信号量接口简单易用:没有信号量集,其中一些接口模仿了我们熟悉的文件系统操作。POSIX信号量删除时的处理更加合理。XSI信号量被删除后,使用该信号量标识符的操作将会出错返回,并将err...
代码星球
·
2021-02-21
进程
通信
POSIX
信号
进程间通信之共享存储
共享存储允许两个或更多进程共享一个给定的存储区。因为数据不需要在客户进程和服务器进程之间复制,所以这是最快的一种IPC。使用共享存储时要掌握的唯一窍门是多个进程之间对一个给定存储区的同步访问。若服务器进程正在将数据放入共享存储区,则在它做完这一操作之前,客户进程不应当去取这些数据。通常,信号量被用来实现对共享存储访问的...
代码星球
·
2021-02-21
进程
通信
共享
存储
进程间通信之信号量
信号量(semaphore)与已经介绍过的IPC机构(管道、FIFO以及消息队列)不同。它是一个计数器,用于多进程对共享数据对象的访问。为了获得共享资源,进程需要执行下列操作:(1)测试控制该资源的信号量。(2)若此信号量的值为正,则进程可以使用该资源。进程将信号量值减1,表示它使用了一个资源单位。(3)若此信号量的值...
代码星球
·
2021-02-21
进程
通信
信号
进程间通信之消息队列
消息队列是消息的链接表,存放在内核中并由消息队列标识符标识。在本节中,我们把消息队列简称为队列(queue),其标识符为队列ID(queueID)。msgget用于创建一个新队列或打开一个现存的队列。msgsnd将新消息添加到队列尾端。每个消息包含一个正长整型类型字段,一个非负长度以及实际数据字节(对应于长度),所有这...
代码星球
·
2021-02-21
进程
通信
消息
队列
进程间通信之XSI IPC
XSIIPC源自于系统V的IPC功能。有三种IPC我们称作XSIIPC,即消息队列、信号量以及共享存储器,它们之间有很多相似之处。1、标识符和键每个内核中的IPC结构(消息队列、信号量或共享存储段)都用一个非负整数的标识符(identifier)加以引用。例如,为了对一个消息队列发送或取消息,只需要知道其队列标识符。与...
代码星球
·
2021-02-21
进程
通信
XSI
IPC
进程间通信之FIFO
FIFO有时被称为命名管道。管道只能由相关进程使用,这些相关进程的共同祖先进程创建了管道。但是,通过FIFO,不相关的进程也能交换数据。FIFO是一种文件类型(参考http://www.cnblogs.com/nufangrensheng/p/3501533.html)。stat结构(http://www.cnblog...
代码星球
·
2021-02-21
进程
通信
FIFO
进程间通信之协同进程
UNIX系统过滤程序从标准输入读取数据,对其进行适当处理后写到标准输出。几个过滤程序通常在shell管道命令行中线性地连接。当一个程序产生某个过滤程序的输入,同时又读取该过滤程序的输出时,则该过滤程序就成为协同进程(coprocess)。Kornshell提供了协同进程。Bourneshell、Bourne-again...
代码星球
·
2021-02-21
进程
通信
协同
进程间通信之popen和pclose函数
常见的操作是创建一个管道连接到另一个进程,然后读其输出或向其输入端发送数据,为此,标准I/O库提供了两个函数popen和pclose。这两个函数实现的操作是:创建一个管道,调用fork产生一个子进程,关闭管道的不使用端,执行一个shell以运行命令,然后等待命令终止。#include<stdio.h>FIL...
代码星球
·
2021-02-21
进程
通信
popen
pclose
函数
进程间通信之管道
管道是UNIX系统IPC的最古老的形式,并且所有UNIX系统都提供此种通信机制。管道有下面两种局限性:(1)历史上,它们是半双工的(即数据只能在一个方向上流动)。现在,某些系统提供全双工管道,但是为了最佳的可移植性,我们决不应预先假定系统使用此特性。(2)它们只能在具有公共祖先的进程之间使用。通常,一个管道由一个进程创...
代码星球
·
2021-02-21
进程
通信
管道
进程间通信
进程之间相互通信的技术——IPC(InterPorcessCommunication)。UNIX系统IPC类型细分有以下9种:半双工管道FIFO全双工管道命名全双工管道消息队列信号量共享存储套接字STREAMS前7种(蓝色字体)IPC通常限于同一台主机的各个进程间的IPC。最后两种(粉红色字体)IPC,即套接字和STR...
代码星球
·
2021-02-21
进程
通信
用于守护进程的出错处理函数
/**Errorroutinesforprogramsthatcanrunasadaemon.*/#include"apue.h"#include<errno.h>/*fordefinitionoferrno*/#include<stdarg.h>/*ISOCvariablearguments*...
代码星球
·
2021-02-21
用于
守护
进程
出错
处理
守护进程之客户进程-服务器进程模型
守护进程常常用作服务器进程。一般而言,服务器是等待客户进程与其联系的一个进程,客户进程向它提出某种类型的服务要求。...
代码星球
·
2021-02-21
进程
守护
客户
服务器
模型
守护进程之守护进程的惯例
在UNIX系统中,守护进程遵循下列公共惯例:若守护进程使用锁文件,那么该文件通常存放在/var/run目录中。注意,守护进程可能需要具有超级用户权限才能在此目录下创建文件。锁文件的名字通常是name.pid,其中,name是该守护进程或服务的名字。例如cron守护进程锁文件的名字是/var/run/crond.pid。...
代码星球
·
2021-02-21
守护
进程
惯例
首页
上一页
...
2
3
4
5
6
...
下一页
尾页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他