端末のパイプから、または引数としてファイル名を指定して、プログラムに入力をプルする方法を探しています。効果的に
1. foo | myprogram
OR
2. foo > bar; myprogram -w bar
2 番目の操作は、ファイルを読み取るだけで完了します。foo
ただし、出力をmyprogram
パイプでリダイレクトする方法については空白を描いています。私が見つけたすべての例で、パイプは親プロセスから子プロセスへの IPC にほぼ独占的に使用されていることがわかりました。適切なパイプを考えていますか、それとも別のメカニズムですか?
foo | myprogram
また、が実行されると、プログラムが同時に実行されることにも気づきました。foo
が連続して読み込まれる場合、これはどのように処理されますか。
編集:
これを含めるのを忘れました:
int main(){
char buff[255];
int i = read(0, buff, 255);
printf("Debug: %s\n", buff);
return 0;
}
たとえば、実行するls | myprogram
と、受信する傾向があります。
. ../ files
Debug:
それ以外の
Debug: . ../ files