Python 使用twistd运行twisted应用程序,但脚本运行两次

Python 使用twistd运行twisted应用程序,但脚本运行两次,python,twisted,twistd,Python,Twisted,Twistd,这里的示例代码 # main.py from twisted.application import service, internet application = service.Application("x") service.IProcess(application).processName = "x" print "some log...." 如果我运行main.py时使用: twistd -y main.py 我有两行“一些日志…” 如果此代码运行两次 您正在使用的“进程名称”功

这里的示例代码

# main.py
from twisted.application import service, internet

application = service.Application("x")
service.IProcess(application).processName = "x"

print "some log...."
如果我运行main.py时使用:

twistd -y main.py
我有两行“一些日志…”

如果此代码运行两次


您正在使用的“进程名称”功能通过使用新的
argv[0]
重新执行进程来工作。没有完全可靠的方法在重新执行过程中保存任意对象(如应用程序)。这意味着.pY文件必须在新的过程中重新评估以重新创建应用程序对象,因此TWSTD知道您希望它做什么。

您可能需要考虑使用而不是<代码> TWSTD < /COD>的内置进程标题特性。(就此而言,如果有可用的话,也许

twistd
应该直接使用它…

对我来说,它只运行一次.)。。你能用这个代码复制它吗?我在这里加了一张图片。我想如果我使用打印,日志可能会打印两次。是的!我删除了service.IProcess(application.processName=“x”,它现在只打印一行日志,但还是有点奇怪