が、私はこのようなものを実行してみた殺された後、それを実行し続ける必要があり:のpythonからプログラムを実行し、スクリプトが
subprocess.Popen(['nohup', 'my_command'],
stdout=open('/dev/null', 'w'),
stderr=open('logfile.log', 'a'))
私が殺す場合、これは親スクリプトが正常に終了した場合に動作しますが、スクリプト(Ctrl + C)を押すと、すべての子プロセスも強制終了されます。これを避ける方法はありますか?
私が気になるプラットフォームは、Python 2.6 と Python 2.7を使用しているOS XとLinuxです。
私はフォークし、フォークの半分を(それを終了させるのではなく)殺すと、新しいプロセスが終了しますか? – James
これを読んだら、信号を受信しないようにするためにはフォークが2回必要ですか?私は親プロセスがインタラクティブなままであることをとても望んでいます---その仕事はそれが生成するプロセスを監視することです---それはシェルを否定しなければならない場合不可能です。 – James
ありがとう!あなたの答えに実装を追加しました。 – James