私はcrontabを使って、subprocess.popen()を使っていくつかのproccesesを起動すると思われるpythonスクリプトを起動しています。私はこのコマンドを使って30分かかるかもしれないプロシージャを起動します。結果を待つのではなく、オリジナルのcrontab実行スクリプトを続けます。問題は、crontabがsubprocess.callのようにsubprocess.popenを処理するようです! unix crontabはpythonのsubprocess.popenをうまく扱いません
私は私のログファイルと最初のpopenが成功したプロセスリストにはっきりと見ることができますが、それがバックグラウンドでcontiue does notの
- 私はリダイレクトしていますので、それはpopenのプロセスが終了firtsまで待機...が、これは可能性がありstderr/steoutをファイルに追加しますか?私は、接続が表示されていないが、おそらく...
私のコードは次のとおりです。
# inside process spawning loop
# open and append process to list
mainLogger.debug("about to launch process with popen")
scoopPopenObj = subprocess.Popen(cmdArgsString,
shell=True,stdout=qScoopLogFile,stderr=qScoopLogFile)
openScoops.append((fileName,time.time(),scoopPopenObj))
# rest of script, here is where i dont get until scoopPopenObj finishes..
任意のアイデア?