バックグラウンドプロセスでpkillの出力を抑制したいです。

バックグラウンドプロセスでpkillの出力を抑制したいです。

私が実行するシェルスクリプトがあります

iostat -c 1  > data.cpu. &

スクリプトの後半で関心のあるデータを収集したら、次の手順を実行します。

pkill iostat

iostatを終了し、data.cpuの処理を続行し、stdoutに記録されたレポートを生成できます。レポートの一部には以下が含まれます。

[1]+  Terminated              iostat -c 1  > data.cpu

pkillによって作成されました。審美的な理由で「終了しました」というメッセージが表示されないようにしたいです。いろいろなリダイレクトを試しましたが、これまで成功していませんでした。

出力でこの部分を防ぐ方法はありますか?

ベストアンサー1

@クワジモド一度見てください。https://stackoverflow.com/q/81520私はこれが役に立たないと思います。ただし、その投稿の提案の1つは次のとおりです。https://stackoverflow.com/q/5719030/1997354

これはdisownマニュアルページ)私の問題を正確に解決するために。今すぐ:

iostat -c 1 > data.cpu &
disown
# collect required data
pkill iostat

拒否を使用することに加えて、抑制する方法があります。終了disownメッセージを使用しないでください。つまり、以下のようにpkillの代わりにkillを使用してください。

iostat -c 1 > data.cpu &
iostat_pid=$(pidof)
# collect required data
kill -9 $iostat_pid

おすすめ記事