0

可能重复:
将输出重定向到 C 中的文件

我正在运行如下进程:

char* [NUM];
char[0] = processName;
char[1] = arg0;
...
char[NUM] = 0;
execv(args[0],args);

问题是我如何使它的输出重定向到

/dev/null

我尝试将它添加到 args 数组,但它作为参数发送给程序......

有人知道吗?

谢谢

4

1 回答 1

1

先打开你想要的目标,然后关闭fd你要重新分配的,dup2用来连接那里,然后关闭之前打开的:

int tmpFd = open( "/dev/null", O_WRONLY );
if ( tmpFd == -1 ) {
    //  Real problem, couldn't open /dev/null
}
if ( dup2( tmpFd, 1 ) ) != 1 ) {
    //  Real problem, dup2 failed.
}
close( tmpFd ); 
于 2012-11-20T10:22:49.477 回答