Unix ドメイン ソケットでリッスンし、FIFO を介して入力を受け取りながら出力をログ ファイルにパイプするスクリプト (できれば bash スクリプト) を作成する必要があります。FIFO/ログの終わりはiiのスタイルを模倣することになっています。スクリプトは、FIFO からの入力を監視して反応することもできます (「停止」機能など)。
これは私が得た限りです:
if [[ ! -p "in" ]]; then mkfifo "in"; fi
while true; do
nc -Ul sock >> "out"
done
FIFO から に入力を取得する方法に行き詰まっていますnetcat
。< "in"
別のシェルからソケットに追加して接続しようとすると、接続が拒否されます。奇妙なことに、「in」を通常のファイルに置き換えると、問題なく動作します。
これを行う最も簡単で正しい方法は何ですか?
編集:while
ブロック全体でパイプを使用しても同じ効果があります。