
私はnohupを使ってPythonスクリプトの出力を記録したいと思います。ただし、nohupを使用しない場合は、画面に出力が表示されます。
XX:XX:XXから始まった
XX:XX:XXに完了
ところで、nohupを使用していますが、nohup.outファイルは空です。何が起こっているのか知っている人はいますか?
これは私が使用するコマンドです:
nohup python myPython.py &
私は以前nohupを試したことがあり、とてもうまくいきました。また、出力を記録するために短いテストPythonスクリプトを実行してみましたが、うまくいきました。
テストスクリプトは短いです。
string1 = ["John","1","2","0","f","a","s"]
line = [""]*6
line[3:6] = string1 [0:3]
print line
答え1
簡単な答えは、標準出力が自動的に更新されないことです。
次のようにバッファリングされていないモードに変更できます。
sys.stdout = os.fdopen(sys.stdout.fileno(), 'w', 0)
詳しくは下記リンクをご覧ください
https://stackoverflow.com/questions/230751/how-to-flush-output-of-python-print