2013-01-06 108 views
1

我有一個Twisted應用程序守護進程,它是由twistd啓動的。該守護程序充當守護程序管理器來管理許多其他Twisted應用程序守護進程。我可以通過TCP向管理器發送一個「新」命令,管理器應該產生(fork)另一個Twisted應用程序守護進程。我的問題是我該怎麼做? fork後,我想我應該停止管理器的反應器循環,關閉打開的文件描述符(日誌文件),然後運行新的Twisted應用程序守護進程。我想知道如何正確完成這些事情的細節。扭曲:從另一個應用程序守護進程產生應用程序守護進程

回答

1

您應該使用反應器的spawnProcess方法。有關其使用的詳細信息,請參閱http://twistedmatrix.com/documents/current/core/howto/process.html

你不應該自己分叉或做任何其他步驟。他們很難做到正確,spawnProcess已經爲你做了。

如果您對如何完成這些事情感到好奇,可以瀏覽variousimplementations

+0

你的意思是:reactor.spawnProcess(p,'twistd',['twistd','-ny','anotherApplication.py'],{}) – jjyao

+0

當然,類似的東西。毫無疑問,確切的參數取決於你之後的確切行爲。 –