Bashスクリプトからプログラムを実行し、スクリプトの出力を読み取るには?

Bashスクリプトからプログラムを実行し、スクリプトの出力を読み取るには?

定期的なサーバーメンテナンスを実行するためにbashスクリプトを作成しています。これを実行するのに約30分かかり、数分ごとに標準出力に書き込むプログラムを実行しています。プログラムでリアルタイムで作成されたこれらの行を処理するには、スクリプトが必要です。現在、次のように各行を処理するためにread-whileループを使用しています。

output=$($maintenance_command) 
while read -r line; do
    <processing logic>
done <<< "$output"

正常に動作しますが、プログラムが終了するまで何もしません。これをバックグラウンドで実行し、作成された出力を読み取る方法はありますか?

ベストアンサー1

私は実際のプログラムと同じ行を出力するPythonスクリプトを使ってこれをテストしています。しかし、実際のプログラムではこの現象は発生しないため、Pythonスクリプトの問題であることに間違いはありません。

おすすめ記事