dup2

    1

    1答えて

    3つのプロセス間のプロセス間通信を可能にするために、3つのプロセスを正しく接続しようとしています。私は親プロセスのSTDINをとり、ストリーム内の単語を処理する1つのプロセスscannerを持っています。単語の長さが奇数の場合は1つのプロセスに送信し、偶数の場合は別のプロセスに送信します。これらのプロセスは、これらの言葉をSTDIN(私が前提とする)を介して受け取り、STDOUTを介してスキャナプ

    9

    1答えて

    私は、私が取り組んでいる課題があり、それを終了するのが難しいです。考え方は、1つのプログラムを実行するプログラムifcを作成し、それが成功すると2番目のプログラムを実行することです。私は最初のプログラムの標準出力を抑止し、2番目のプログラムの標準出力を抑止するはずです。複数のテストでエラーメッセージが表示されます。たとえば、 "./if echo no then echo yes"は "echo:

    -1

    1答えて

    私は、父親がユーザーに数値の階乗を計算するために数値を挿入するように求めるプログラムを書いています。その数はfactorial.c で計算されるので、私は何をする必要があるかを推測です: ユーザーに番号を尋ねる-Father: 数を読み、数を計算-Factorial.c -Do出力を // 2 Pipe and Fork created if(x == 0){ //Father

    5

    1答えて

    私はオペレーティングシステムコースを受講しており、フォークを持っているときに入力がdup2でどのようにリダイレクトされるのか苦労しています。私はこの小さなプログラムを書いてそれを理解しようとしましたが、私は壮大な子供の成果を子供に渡すことに成功しませんでした。私はunixコマンドを模倣しようとしています:ps -A | wc -l。私はUnixを初めとしていますが、これは実行中のプロセスのリストの

    0

    1答えて

    私は、execと無名のパイプを使用してこのコマンドをシミュレートするCプログラムを作成する必要があります。 ls | sort | wc -l しかし、私はこれをどのように行うことができますか?本当に悪い int main(int argc, char** argv) { int fd1[2], fd2[2],fd3[2], pid; createPipe(fd1);

    0

    1答えて

    以上 int main(void){ int n, user_length; char userid[30]; char password[11]; if ((n = read(STDIN_FILENO, userid, 10)) == -1) { perror("read"); exit(1); } else if(n == 0) { fprintf(s

    0

    1答えて

    皆さん、dup、dup2、fcntl、パイプ、そして複数のプロセスが存在するときにすばらしいあらゆる種類のものに関連する10億のデモがあります。しかし、私はまだパイプの挙動と標準との関係を説明するのに役立つ基本的なものを見ていません。 私の目標は、単純に(同じプロセスで)パイプを標準出力に直接戻します。私はすでに を達成しました。中間段階では、パイプ出力をファイルにリダイレクトしたり、バッファに書

    1

    1答えて

    私はパイピングを実行するプログラムを実行しています。 実行したいコマンドはls |ネコ。 int cmd(char** w, int* pipe, int action){ ... some code up here ... int fd; if(child_pid == 0) { if (pipe != 0) { if (action == 0){

    3

    1答えて

    子プロセスのSTDOUTを読み込もうとしています。 ここにはfork関数があります(yes、C++)。 int main() { fprintf(stdout, "fromFprintf\n", 12); puts("auieauie"); write(STDOUT_FILENO, "fromWrite", 9); } そして、ここでは、読書のための方法である: