優先順位の異なるロガーにnohup出力をパイプします。

優先順位の異なるロガーにnohup出力をパイプします。

nohupを使用してバックグラウンドで実行されるサードパーティのPythonスクリプトがあります。出力をファイルにパイプするのではなく、次のように出力をシステムログに追加したいと思います。記録計。これに加えて、優先順位 "user.error"と一般出力 "user.notice"を使用してエラー出力を記録する必要があります。これは、少なくともエラーがログに表示されることを保証します。

nohupなしで単純なコマンドを実行するとうまくいくようです。

ls /tmp 1> >(logger --priority user.notice --tag myTag) 2> >(logger --priority user.error --tag myTag)

ただし、/ w nohupを実行すると予期しない結果が発生します。

nohup sh -c ls /tmp 1> >(logger --priority user.notice --tag myTag) 2> >(logger --priority user.error --tag myTag) &

ログには「nohup:ignore input」が含まれ、時には空のエントリも含まれます。

誰かがこのコマンドを正しく書くのに役立ちますか?

ベストアンサー1

nohup出力をロガーにリダイレクトしています。 (またはPythonスクリプト)の出力をリダイレクトするには、ls次のようにします。コマンドの置き換え:

nohup sh -c $(ls /tmp 1> >(logger --priority user.notice --tag myTag) 2> >(logger --priority user.error --tag myTag)) &

おすすめ記事