首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >twistd不会给我一个shell提示或日志

twistd不会给我一个shell提示或日志
EN

Stack Overflow用户
提问于 2012-08-07 18:00:29
回答 2查看 148关注 0票数 1

我这样调用一个扭曲的python程序:

代码语言:javascript
复制
twistd -l twisted.log -y controller.py

根据我读过的所有文档:

  • L应该将STDERR的输出定向到日志文件
  • Y应该将它去命名,并给我一个shell提示符。

相反:

  • 日志文件未被触摸。
  • 所有调试内容都转到stderr (从“导入日志”)
  • 这个应用程序不会去守护(所以我必须继续登录)

谁能帮我指出正确的方向吗?谢谢。

编辑:

tac包含以下内容:

代码语言:javascript
复制
from twisted.internet import protocol, reactor  
from twisted.application import service  

application = service.Application('myapp daemon')  

dbUpdateService= DbUpdater_UpdateService()  
dbUpdateService.setServiceParent(application)  
dbUpdateService.startService()  

# repeat with 3x services  

reactor.run()
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-07 18:04:41

看起来你并没有正确地使用twistd

  1. -y选项读取.tac文件,而不是.py文件。从技术上讲,.tac也是Python源代码,但是它有一些附加规则,而且它不应该是一个模块。这里有一些解释。
  2. -l选项发送的输出来自twisted.python.log,而不是logging
  3. 您的应用程序可能不是守护进程,因为您在controller.py中执行不应该执行的随机crud操作(该文件是在守护进程之前执行的),但是您没有附加controller.py,所以我真的不知道。

请提出更多关于你将来实际做什么的细节的问题。如果您的应用程序没有任何代码,以上大部分都是猜测。

票数 1
EN

Stack Overflow用户

发布于 2012-08-13 20:48:15

这可能无法解决守护进程问题,但是对于日志文件,您使用的是twisted.python.log吗?对于与日志相关的输出,请使用log.msg和log.err。查看http://twistedmatrix.com/documents/current/core/howto/logging.html

哦,如果您使用twistd,也不需要调用log.startLogging。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11851525

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档