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 に答える