Possible Duplicate:
redirecting output to a file in C
我正在运行以下进程:
char* [NUM];
char[0] = processName;
char[1] = arg0;
...
char[NUM] = 0;
execv(args[0],args);
问题是我如何使它将输出重定向到
/dev/null
我试图将它添加到args数组,但它将它作为参数发送到程序。。。
有人知道吗?
谢谢
最佳答案
首先打开你想要的目标,然后关闭你想要的
重新分配,使用fd
将其连接到那里,然后关闭上一个打开的:
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 );