問題タブ [dup2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1254 参照

c - C パイプ操作の失敗

シンプルなシェルを実装しようとしています。つまり、2 番目の execve (ご参考までに、execvp ではなく execve を使用する必要があります) は、コマンドが見つからないか、単に失敗して終了することを示しています。これは私のパイプコードです。

注: 1. cmd[1].name が正しいことを確認するためにテストしました...正しいディレクトリであるようにします。そしてその cmd[1].argv はnullではありません...そして実際には何かが含まれています。私はすべてを試しました...しかし、なぜそれが機能しないのかわかりません。

結果は次のとおりです。

編集!!!なんらかの理由で、ケース0に入らないことに気付きました.フォークは失敗しません..しかし、ケース0に入ることはありません。なぜでしょうか?

あなたの助けは大歓迎です!

0 投票する
1 に答える
44 参照

c - 通常は上部に印刷する必要がある場合に最後に印刷されるテキスト

ファイルの内容を印刷するこの関数を作成しました:

問題は、ファイルに標準出力を dup2 したプログラムでこの関数を呼び出すときです (この cas では fichierSortie)。

私はこれを得た :

しかし、通常は取得する必要があります

ありがとう

0 投票する
0 に答える
663 参照

c - パイプ、フォーク、dup2、トラブル

metasploit を 2 つのパイプで実行して通信したいのですが、その通信に問題があります。プログラムを実行すると、「stty: 標準入力: デバイスの不適切な ioctl」というエラーが表示され、metasploit プロンプトが表示されません。

エクスプロイトを選択するだけです。

これは私のコードです:

これは次のことを示しています。

0 投票する
1 に答える
1155 参照

c - "ls | tr az AZ > file.txt" を実行するには、パイプ、dup2 関数を実装する必要があります。

「ls | tr az AZ」を実行する次の C コードがありますが、出力を file.txt に出力する方法がわかりません。別のパイプまたはフォークを 3 回作成する必要がありますか? 出力をファイルに保存しているので、open() 関数を使用する必要がありますか?

0 投票する
3 に答える
229 参照

c - ほぼ完了した Linux シェル パイプ

こんにちは、Linux でシェルを構築しようとしていて、パイプラインの部分で行き詰まっています。最初に、「ls | sort」のようなユーザーからの入力を取得してから、プログラムを実行しようとすると、コマンド ls と ls のように見えます。ソートが機能しない すべてを正しく行ったように見えますが、まだ機能していないようです。助けてください。前もって感謝します

0 投票する
0 に答える
119 参照

unix - Python での fork 呼び出し後のスクリプトからの早期終了 (パイプラインの作成)

call(argv) 関数内のコード フラグメント

上記のコードは、2 つのコマンドのみの単純なパイプラインから結果を返しますが、シェルが途中で終了する原因になります。このコードを取得してスクリプトの終了を停止し、コマンド プロンプトに戻すにはどうすればよいですか?

プログラムの仕組み

子は 2 番目のコマンドを実行します。その出力は、パイプに沿って出力をリダイレクトする dup2() 呼び出しを使用してパイプに送信されます。これは、値 sys.stdout を使用してパイプライン書き込みファイル記述子を変更することによって実現されます。

次に、親は dup2() 呼び出しで入力リダイレクトを使用します。これにより、スクリプトが終了した直後に画面に表示される最終出力が生成されます。

run 関数呼び出しは、コマンドとその引数を受け取ります。指定されたコマンドを実行します。また、グロビングと入力および出力のリダイレクトも実行します。

おそらく単純なことですが、問題の原因を特定できないようです...

0 投票する
1 に答える
285 参照

c++ - dup2 とマルチスレッドに関する質問

dup2 と複数のスレッドに関する非常に文字列の問題に遭遇しました。コードは次のようになります。

別のプロジェクトでコードをテストしたところ、「hello」が std から出力されていることがわかりますが、大きなプロジェクトに配置すると、「hello」が err:( から出力されます。

私は xcode5.0 を使用しており、c++ と目的の c を混在させています。これについて何か考えはありますか?ありがとう