Возможный дубликат:
перенаправление вывода в файл в C
Я запускаю процесс следующим образом:
char* [NUM];
char[0] = processName;
char[1] = arg0;
...
char[NUM] = 0;
execv(args[0],args);
Вопрос в том, как я могу заставить его перенаправить вывод на
/dev/null
Я попытался добавить его в массив args, но он отправил его в качестве аргументов в программу …
Любая идея кто-нибудь?
Спасибо
Сначала откройте нужную цель, затем закройте 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 );
Других решений пока нет …