この cgi スクリプトにデータを送信するページがあり、このスクリプトは別の実行可能ファイルを呼び出します。問題は、この実行可能ファイルの実行に非常に長い時間がかかり、その結果、cgi スクリプトが終了するまで停止することです。バックグラウンドで実行する方法を見つけようとしています。LinuxマシンでPythonでコーディングしています。私が直面している問題は、スクリプトが終了すると (親プロセスが強制終了される)、子プロセスも init によって終了されることです (Linux 仕様に従って)。少しググったところ、このスレッドに出くわしました: Python で外部コマンドを呼び出す
次に、コードで次のことを試しました。
print <html code>
pid = subprocess.Popen([sys.executable, '/path/to/executable.py '+arg1],
stdout=subprocess.PIPE, stderr=subprocess.PIPE,
stdin=subprocess.PIPE)
...
retval = pid.wait()
#For debugging purposes:
print str(retval) + "<br/>"
print </html code>
これにより、「2」の retval が返されますが、これは何かが間違っていることを意味していると確信しています (正しい出力が表示されないため) 他の方法をいくつか試しましたが、スクリプトを実行し、ロードに時間がかかりますフォアグラウンドで実行されている)、または単にスクリプトを一緒に実行するのに失敗しただけです。
アイデア?ありがとうございました。ああ、ところで、私はpython 2.6を使用しています