2012-11-03 42 views

回答

1

可能這可以幫助你....

int f=open(somefile, O_WRONLY | O_CREAT, S_IRWXU); 
dup2(f,1); //redirecting output to file 
//execute your first command here using fork 
close(f); 
int f=open(somefile, O_RDONLY | O_CREAT, S_IRWXU); 
dup2(f,0); //this will give the ouput of the first command to stdout 
//i.e. the input is present for second one 
//execute your second command here 
close(f); 
+0

在第二次調用DUP2,在評論,我想這是標準輸入,而不是標準輸出。 –

+0

有更好的方式,而不是文件?我可以使用管道或其他IPC機制嗎?最後,如何將文件描述符'1'設置回stdout? –

+0

是的,它應該是標準輸入。 如果您希望將第二個進程的輸出打印在標準輸出上,則不需要 –

相關問題