私はファブリックを使用して別のホストでコマンドを実行します。実行するコマンドの標準エラーをキャッチします。このような ファブリックコード:pythonファブリック実行コマンドはstdoutとしてエラーを返します
def remoteTask(logfile):
with settings(warn_only=True):
result = run("tail -n4 %s | grep \'[error]\' | awk \'{print $1,$2,$0}\'" % logfile)
if result.failed:
raise Exception("Tail failed")
else:
sys.stdout.write(result)
尾が失敗した場合には、result.failedはfalseで、その結果の値は、尾の標準エラーです。ファブリックは例外をスローしません。
$ python exec.py
stdout: tail: cannot open `/var/log/test.log' for reading: No such file or directory
私はちょうど私のスクリプトが失敗したかを知るために、ファブリックからの強制終了や警告を取得したいが、このような状況では、私はキャッチすることはできません。
あなたのコードをスクリーンショットだけでなく質問本体に入れてください。 – 2ps
私のために質問の本文を編集していただきありがとうございます。そして私は次回より私の質問をもっと明確にします!ありがとうございました! –