资源简介
使用fork(),exec(),dup2(), pipe(),open()系统调用完成与下列shell命令等价的功能:grep -v usr result.txt
代码片段和文件信息
#include
#include
#include
#include
#include
#include
#include
#define MAX_PARA_NO 128
int main()
{
int n pfd[2];
char buffer[128] = ““;
char *in *out *buffer2 *cmd1 *cmd2;
char *para1[MAX_PARA_NO] *para2[MAX_PARA_NO];
strcpy(buffer “grep -v usr < /etc/passwd | wc -l > result.txt“);//待处理命令
signal(SIGCLD SIG_DFL);//忽略SIGCLD信号,子进程终止后,系统会自动销毁僵尸子进程
buffer2 = strstr(buffer “|“);//定位管道位置
in = strstr(buffer “<“); //定位重定向输入文件位置
out = strstr(buffer “>“);//定位重定向输出文件位置
if (in) {
*in = ‘\0‘;
in = strtok(in + 1 “ <>\t\n“);//获取输入重定向文件名
}
if (out) {
*out = ‘\0‘;
out = strtok(out + 1 “ <>\t\n“);//获取输出重定向文件名
}
if (! buffer2)
exit(0);
else {
*buffer2 = ‘\0‘;
buffer2++;
}
cmd2 = strtok(buffer2 “ <>\t\n“);//获取第二个命令
if (! cmd2)
exit(1);
//获取第二个命令及选项
para2[0] = cmd2;
for (n = 1; para2[n]; n++) {
para2[n] = strtok(N
相关资源
- 进程的管道通信编制一段程序,实现
- 海底管道虚拟安全系统:数据库设计
- 机载雷达数据产品在油气输送管道工
- 1000MW机组末级低加疏水管道振动原因
- 使用共享内存及信号量实现进程间通
- 管道风格、黑板风格、调用/返回风格
- 论文研究 - 肯尼亚阿西河镇当前和未
- 操作系统程序 WIN32API 进程的控制通信
- 管道铺设最优方案
- 命名管道用于进程间双向通信
- 进程间通信.zip
- Linux进程线程编程
- 管道铺设施工的最佳方案
- 管道流水效果/管道气体效果Shader
- Interprocess.Communications.in.Linux.The.Nooks
- xFsRedir目录重定向程序2019年更新版本
- usb 重定向软件
- 计算机软件基础数据结构作业题——
- 管道强度计算
- 虚拟串口工具大全
- UNIX网络编程第2卷-进程间通信第2版
- UNIX网络编程卷2:进程间通信第2版.
- 苏州大学操作系统实验二进程间通信
- UNIX网络编程 卷2 进程间通信(第2版)
- PDMS12.0管道元件库和等级库详细教程
- Solidworks高级教程:管道与布线
- linux管道通信例程
- 实验二、进程通信-管道及共享内存
- linux内核实现url重定向
- 输气管道仿真软件SPS安装步骤
评论
共有 条评论