声明执行程序#!/bin/bash用来告诉系统使用/bin/bash 程序来执行该脚本。譬如python 脚本,可以这样写:#!/usr/bin/python赋值和引用 赋值公式:变量名=值取一个变量的值的时候,需要在变量名前面加上$ 符号,譬如:var="hello bash"echo $var如...
分类:
系统相关 时间:
2014-09-09 15:14:48
阅读次数:
279
客户端将需要解决的task发送给服务器,服务器调用线程来解决客户端发送的task,解决完由线程负责将其发送回客户端。(用管道实现通信)1. server维护两个列表。一是客户端列表。二是任务列表。分别如下:/* 客户端列表 */ typedef struct tag_fds{ int s...
分类:
编程语言 时间:
2014-09-09 15:10:38
阅读次数:
244
1.格式:cmd1|cmd2[....|cmdn]2.定义:将前一个命令的执行标准输出结果做为下一个命令的标准输入。3.管道使用中注意:a.在管道后面的命令,都不应该在接文件名,否则管道前的信息失效,只执行管道后面的。b.在管道中只有标准输出才能传递给下一个命令,标准的错误输出则直接输..
分类:
系统相关 时间:
2014-09-09 13:33:59
阅读次数:
188
subprocess--子进程管理器?
一、subprocess 模块简介
subprocess最早是在2.4版本中引入的。
subprocess模块用来生成子进程,并可以通过管道连接它们的输入/输出/错误,以及获得它们的返回值。
它用来代替多个旧模块和函数:
os.system
os.spawn*
os.popen*
popen2.*
commands.*
关于这个模...
分类:
编程语言 时间:
2014-09-09 12:37:38
阅读次数:
284
ctrl + c --> 2)SIGINTctrl + \ --> 3)SIGQUIT13)SIGPIPE 当管道读端关闭,再往管道写东西,会发出SIGPIPE信号17)SIGCHLD 子进程退出会向父进程发出SIGCHLD信号,系统默认处理是忽略掉该信号#include#include #incl...
分类:
其他好文 时间:
2014-09-09 12:28:48
阅读次数:
185
刚开始代码的实现如下:voidCreateFIFO(){if((mkfifo(FIFOPATH,O_CREAT|O_EXCL|O_RDWR)<0)&&(errno!=EEXIST)){printf(strerror(errno));}}intOpenFIFO(){fd=open(FIFOPATH,O_RDWR|O_NONBLOCK);returnfd;}觉得非常的不优雅,毕竟需要调用两个函数,而且写函数又有一..
分类:
其他好文 时间:
2014-09-08 10:59:37
阅读次数:
499
select函数对数据结构fd_set进行操作,fd_set是一个bitmap,该集合由打开的文件描述符构成。对于管道而言,select是通过检查管道是否阻塞,来进行监听的。只要所监听的管道非阻塞,select就能立马获知,并将其在fd_set中的相应为置1。管道非阻塞只有两种情况,一种是客户端向管...
分类:
其他好文 时间:
2014-09-06 23:41:24
阅读次数:
263
FILE * popen ( const char * command , const char * type );第一个参数是命令,不是文件名popen() 函数通过创建一个管道,调用 fork 产生一个子进程,执行一个 shell 以运行命令来开启一个进程。这个进程必须由 pclose() 函数...
分类:
其他好文 时间:
2014-09-06 20:01:43
阅读次数:
256
//第一个程序先发后收#include #include #include #include #include #include int main(int argc, char* argv[])//EXE send_fifo recv_fifo{ /* A创建管道1,我们假定其先发消息,再收消...
分类:
其他好文 时间:
2014-09-05 19:55:01
阅读次数:
402
xargs 又称管道命令,构造参数等。是给命令传递参数的一个过滤器,也是组合多个命令的一个工具 它把一个数据流分割为一些足够小的块,以方便过滤器和命令进行处理 。简单的说 就是把 其他命令的给它的数据 传递给它后面的命令作为参数主要参数-i 用 {} 代替 传递的数据-I string 用strin...
分类:
其他好文 时间:
2014-09-05 19:45:21
阅读次数:
184