私は非常に単純な問題があります。以下で始まるPythonスクリプト:Python sys.stdoutがinit.dスクリプトで動作しない
import sys
sys.stdout = open("server.out", 'w')
私は、端末
python start_server.py &
に直接このコマンドを入力するとそれはserver.out
ファイルを書き込みます。 私はservice tdserver start
を入力した場合、すべてのinit.d
スクリプトはこれですん:他に
python start_server.py &
同じコマンド、何もありません。しかし、この場合、stdoutは書かれませんserver.out
なぜですか?何のプロセスがファイルのロックを持っていない、スクリプトはデフォルトでps -aux
ファイル名にフルパスを使用してください。 ( "/ tmp/server.out"、 "w")を開き、/ tmpにファイルがあるかどうかを調べてください。 – Yaron
問題が修正されました。私はデフォルトのexecディレクトリがどんなものかと思います。私はそれを回答として追加して受け入れることができます。 –