ここに私のコードがあり、それを動作させることができません。 int pfd = open("file", O_WRONLY, 0777);
int saved = dup(1);
close(1);
dup(pfd);
close(pfd);
printf("This goes into file\n");
// restore it back
dup2(saved, 1);
c
ここにコードスニペットがあります。 int saved_stdout = dup(1);
int fd = open("file.txt", O_WRONLY | O_CREAT, 0640);
close(1);
dup(fd);
close(fd);
printf("This text should go into the file\n");
//restore stdout
これは私がやろうとしていることです。親プロセスは2つの子プロセスを作成し、次にstdoutを1つずつstdoutして別のstdinにします。親は5秒待って最初の子を殺します。 これが私のアプローチです。まずパイプを作成します。次にforkを実行して最初の子(gen in code)を作成し、dup2を使用してpipeのwriteをstdoutにコピーします。 2番目の子の別のフォーク(コードではc