Linux pipe 源码分析
管道pipe作为Unix中历史最悠久的IPC机制,存在各个版本的Unix中,主要用于父子进程之间的通信(使用fork,从而子进程会获得父进程的打开文件表),pipe()系统调用底层的实现就相当于一个特殊的文件系统,每次调用的时候创建一个inode关联着两个file,一个用于读,一个用于写,从而实现数据的单向流动。
用户层API:...
分类:
系统相关 时间:
2015-03-20 18:41:06
阅读次数:
357
1.ls列出文件信息:
文件类型:
d 目录(directory)
l 符号链接(link)
s 套接字文件(socket)
b 块设备文件(block device file)
c 字符设备文件(character)
p 命名管道文件(named pipe ,FIFO)
- 普通文件
创建文件命令:touch filename
改变文件权限:chmod [who...
分类:
其他好文 时间:
2015-03-18 23:28:29
阅读次数:
457
原文:http://stackoverflow.com/questions/5511433/how-to-exclude-certain-messages-by-tag-name-using-android-adb-logcat
down vote
accepted
If you are using adb logcat you could pipe it through grep and use it's inverted matching: From the grep manpage:
v, --i...
分类:
移动开发 时间:
2015-03-18 10:40:29
阅读次数:
421
动态格式化字符串a=[[1,2,3],[4,5,6],[7,8],[10,11,12,13,14]]
foriina:
fmt=‘%s‘*len(i)
argvs=‘‘.join(["i[%s],"%jforjinrange(len(i)])
printfmt%eval(argvs)获取当前登录用户user=subprocess.Popen(‘who‘,shell=True,stdout=subprocess.PIPE)
printlist(set(user.stdout.r..
分类:
编程语言 时间:
2015-03-16 19:44:58
阅读次数:
133
进程间通信本文转自:http://blog.csdn.net/xiaowei_cqu/article/details/7041212程序源码及实验报告文档下载:http://download.csdn.net/detail/xiaowei_cqu/3880949命名管道进程间通信的一种方式,Pipe...
进程间通信方式
传递数据的方式
1.pipe
必须是有亲缘关系的进程之间使用,平时用"ls | grep abc"等命令时用得就是这个,这个"|"我猜测是用了两种系统调用实现,一个是pipe(popen),一个是dup2,没有看过bash或sh的源码,只是猜测。
2.fifo
会在文件...
分类:
编程语言 时间:
2015-03-15 09:31:35
阅读次数:
265
SQLserver目前的主要3种协议为:Shared Memory、TCP/IP 和 Named Pipe
SharedMemory:
Shared Memory最快最简单的协议,使用SharedMemory协议的客户端仅可以连接到同一台服务器上的SQLserver实例。如果其他协议有误,可以通过Shared Memory连接到本地服务器进行故障处理。
TCP/IP:
TC...
分类:
数据库 时间:
2015-03-14 13:53:31
阅读次数:
222
一、进程间的通信方式
# 管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。
# 有名管道 (namedpipe) : 有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。
# 信号量(semophore ) : 信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机...
分类:
编程语言 时间:
2015-03-12 20:52:46
阅读次数:
134
1.介绍: 1)同一主机: unix进程通信方式:无名管道,有名管道,信号 system v方式:信号量,消息队列,共享内存 2)网络通信:Socket,RPC2.管道: 无名管道(PIPE):使用一个进程的标准输出作为另一个进程的标准输入建立的一个单向管道,执行完成后消失。主要用于父...
分类:
系统相关 时间:
2015-03-11 19:07:30
阅读次数:
207
现在开发的项目是从solaris到linux的应用移植。经常用到popen函数,使用8192字节的数组读取popen输出,但没有进行溢出判断。
刚开始认为是一个简单的内存越界,但对popen和PIPE调查以后,疑惑越来越多了。
1)问题的引出
popen使用管道来记录被调用命令的输出,那么popen的最大写入字节数必然是管道的最大值。
使用linux的ulimit -a来查看系统限制:...
分类:
系统相关 时间:
2015-03-08 18:51:38
阅读次数:
1285