我不知道这是否是执行系统进程,并从母公司分离的正确途径,但允许家长无需创建一个僵尸和/或杀死孩子退出处理。我目前使用的子模块,做这个...Python的产卵关子子,分离,并退出
os.setsid()
os.umask(0)
p = subprocess.Popen(['nc', '-l', '8888'],
cwd=self.home,
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT)
os.setsid()改变进程组,我相信这是什么让进程继续运行时,它的父退出,因为它不再属于同一个进程组。
这是正确的,也是这是执行此的一个可靠的方法?
基本上,我有通过socket进行通信,并允许远程启动过程的远程控制工具,但我要确保,如果遥控器模具,它启动的进程继续运行不受影响。
我在读关于双叉,不知道这是必要的和/或subprocess.POpen close_fds不知何故照顾,所需的一切是改变进程组?
谢谢。
伊利亚
查看http://code.activestate.com/recipes/278731-creating-a-daemon-the-python-way/ http://www.python.org/dev/peps/pep- 3143 /#reference-implementation – sehe 2011-04-24 20:11:24