0

示例代码在这里

# 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

我有 2 条“一些日志....”行。

如果这段代码运行两次?

在此处输入图像描述

4

2 回答 2

2

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

于 2014-12-24T12:16:17.103 回答
0

您可能需要考虑使用setproctitle而不是twistd的内置流程标题功能。(就此而言,twistd如果可用的话,也许应该使用它......)

于 2014-12-24T22:51:25.600 回答