問題タブ [process-substitution]

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 投票する
3 に答える
106 参照

bash - `>` リダイレクトが置換されたプロセスの stdout をキャプチャしないのはなぜですか?

パイピングとリダイレクトに関する質問への回答で、Robert は、パイピングはパイプラインで置換されたプロセスの stdout もキャプチャするが、リダイレクトはキャプチャしないと述べています。これはなぜですか?正確には何が起こっているのか、その結果、次の動作が発生します。

どちらの形式でも同じ結果、つまり後者の結果が得られると私は考えていたでしょう。

別の質問への回答を読むと、コマンドでリダイレクトの順序を変更すると望ましい結果が得られる可能性があると思われましたが、順序に関係なく、結果は常に同じです。

teestdout リダイレクトが にのみ影響するのに、パイプが置換されたプロセスもキャプチャするのはなぜheadですか? 単に「設計上」?


上記の質問に関連する考え: ファイルにリダイレクトして出力パイプすることは決して意味がないと思いましたが、プロセス置換では意味があります:

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

bash - プロセス置換で見る

私はしばしばコマンドを実行します

どこsqueueで、実行中のジョブの数を確認するためのSlurm コマンドです。これにより、出力が得られsqueue、そこに含まれる行数が自動的にわかります。

watchこのコマンドを実行するにはどうすればよいですか?

watch -n.1 "squeue -u $USER | tee >(wc -l)"結果は

0 投票する
5 に答える
1482 参照

bash - bash: プロセス置換サブシェルが終了するのを待ちます

プロセス置換で使用されるサブシェルが次の構成で終了するのをbashがどのように待機できますか? (これはもちろん、私が使用している実際の for ループとサブシェルから単純化されていますが、意図をよく示しています。)

版画:

それ以外の:

これらのサブシェルが完了するまでbashを待機させるにはどうすればよいですか?

アップデート

プロセス置換を使用する理由は、ファイル記述子を使用して、画面に出力されるものとプロセスに送信されるものを制御したいからです。ここに私がやっていることの完全なバージョンがあります:

版画:

それぞれの処理には、転送よりもはるかに時間がかかる場合があります。帯域幅が制限要因であるため、ファイル転送はシーケンシャルにする必要があります。すべてのファイルが転送されるのを待たずに、受信後に各ファイルの処理を開始したいと考えています。処理は並行して実行できますが、限られた数のインスタンスでのみ実行できます (メモリ/CPU が限られているため)。したがって、5 番目のファイルの転送が終了したばかりで、2 番目のファイルのみが処理を終了した場合、5 番目のファイルが処理される前に 3 番目と 4 番目のファイルの処理が完了する必要があります。その間、6 番目のファイルの転送が開始されます。

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

bash - ソーシングとプロセス代替

プロセス置換の出力を取得しようとしていますが、期待どおりの結果が得られません。

私は出力になることを期待BARしていたでしょう。誰かが私に欠けているものを教えてもらえますか?

High Sierra (MacOS 10.13.6) を実行している Mac を使用しています。GNU bash、バージョン 4.4.23(1)-release (x86_64-apple-darwin17.5.0) を使用しています。