我不知道這是否是執行系統進程,並從母公司分離的正確途徑,但允許家長無需創建一個殭屍和/或殺死孩子退出處理。我目前使用的子模塊,做這個...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