Chinaunix首页 | 论坛 | 博客
  • 博客访问: 581516
  • 博文数量: 213
  • 博客积分: 6789
  • 博客等级: 准将
  • 技术积分: 1947
  • 用 户 组: 普通用户
  • 注册时间: 2009-09-01 17:11
文章分类

全部博文(213)

文章存档

2012年(9)

2011年(62)

2010年(99)

2009年(43)

分类: LINUX

2011-04-18 15:11:46

chechunli@chechunli-PC:tmp $ cat redirect.c
#include
#include
#include
#include
#include

#define MAX_SIZE             1024
#define OPENFILE             "1"

int main(int argc, char *argv[])
{
    int n;
    int fd[2];
    pid_t pid;
    char line[MAX_SIZE];
int fd_test;

    if (pipe(fd) < 0)
        perror("pipe error");
    if ((pid = fork()) < 0) {
        perror("fork error");
    } else if (pid > 0) {
        close(fd[0]); 
close(STDOUT_FILENO);
dup2(fd[1], STDOUT_FILENO);
system("ls -l");
system("ls");
    } else {
        close(fd[1]);
fd_test = open(OPENFILE, O_RDWR | O_CREAT, 0777);
while((n = read(fd[0], line, MAX_SIZE)) > 0)
if(write(fd_test, line, n) != n)
perror("write error");
    }
close(fd_test);

    return 0;
}
chechunli@chechunli-PC:tmp $ gcc redirect.c -Wall -o redirect
阅读(1162) | 评论(0) | 转发(1) |
0

上一篇:emacs ediff

下一篇:linux cmd--pushd popd

给主人留下些什么吧!~~