次の投稿の spawn 関数を使用しました: Python での無期限のデーモン化プロセスの生成
入力を取り込んで操作し、成功ページを出力する cgi スクリプトを作成しています。操作関数の 1 つが、完了するまでに少し時間がかかる実行可能ファイルを呼び出します。その結果、個人がリクエストを送信すると、完了するまで HTML ページでハングアップします。
私の def main() 関数では、次のことを行います。
def main():
<call a bunch of little functions here>
print <All the success information here>
<spawn the daemon process here>
問題は、その順序で、おそらく分岐が原因で、成功情報が 3 回出力されることです。(ただし、実行可能ファイルはバックグラウンドで実行されています)。HTML 印刷の前にデーモン プロセスを配置すると、バックグラウンド プロセスを生成するという目的を無効にしていたため、デーモン プロセスがハングします。
誰にもアイデアはありますか?
また、フォークに関する簡単な理論上の質問です。フォークが呼び出されたとき、それは再び呼び出された関数全体を再実行しますか? したがって、デーモンプロセスを生成すると、フォークされたプロセスは生成されますか?