バックグラウンドで次のスクリプトを実行しています。
while true; do
{ file=$(/somescript); echo -ne "HTTP/1.0 200 OK\r\n\r\n"; cat $file; } | nc -l -p 20000
done
/somescript
ポート20000に要求をする直前に1回実行してから待ってから正しく応答することを除いて、これはうまく機能します。
私は何が間違っていましたか?/somescript
20000 件の要求がある場合にのみ実行する必要があります。
ベストアンサー1
注:この記事が書かれてから質問が編集されました(パイプラインが反転)。時間があれば更新します。
パイプラインの各部分は他の部分と同時に開始されます。パイプを同期する唯一のものはI / Oです。ここで、あるプロセスは、パイプの他のプロセスが出力を読み取るか入力を提供するのを待ちます。
スクリプトはファイル名を出力する前に要求された入力をsomescript
待って監視する必要があります。nc
このスクリプトの機能がわからないので、解析にいくつかの問題がある可能性があると推測できます。