環境: 最近の Ubuntu の非標準パッケージは、あまり風変わりなものでなければ問題ありません。
次のデータを処理するデータ プロセッサ bash スクリプトがありますstdin
。
$ cat data | process_stdin.sh
スクリプトを変更できます。
SSH経由でマシンにログインし、スクリプトを呼び出してデータをパイプするレガシーデータプロデューサーシステム(変更できない)があります。擬似コード:
foo@producer $ cat data | ssh foo@processor ./process_stdin.sh
レガシー システムは./process_stdin.sh
、1 日に無数の回数起動します。
プロセス起動のオーバーヘッドを取り除くために、マシンで./process_stdin.sh
無期限に実行し続けたいと思います。processor
従来のプロデューサは、実際のプロセッサ プロセスに何らかの方法でデータをパイプするある種のラッパーを呼び出します。
最小限のコードで私がやりたいことを行うための堅牢な unix-way の方法はありますか? 私は (あまり) 変更したくありません./process_stdin.sh
— 完全な書き直しは既に予定されていますが、残念ながら、すぐには間に合いません — そして、データ プロデューサーを変更することはできません。