2024-04-27 11:05:35 发布
网友
我创建了一个测试可执行文件,看看我是否可以捕捉到一个由主管监控的程序的输出。在
测试仪.py:
#! /usr/bin/env python import time, os pid = os.getpid() print "EXECUTING ON %s" % pid while True: time.sleep(5) print "HOLLER %s" % pid
监督人.conf:
但当我试图在supervisortl中对进程运行tail时,什么都没有。在
tail
你已经有一段时间没问了,但如果你仍然感兴趣,对于任何有同样问题的人:
在本例中,Python正在缓冲输出,在刷新到stdout之前,您不会看到它。您可以在程序中使用sys.stdout.flush()强制刷新,但修复它的最干净的方法可能是使用Python解释器的-u标志以无缓冲模式运行脚本:
sys.stdout.flush()
-u
监督人.conf
[program:mytester] command=python -u {path}/tester.py
(有同样的问题,在主管的mailing list中找到了解决办法)
你已经有一段时间没问了,但如果你仍然感兴趣,对于任何有同样问题的人:
在本例中,Python正在缓冲输出,在刷新到stdout之前,您不会看到它。您可以在程序中使用
sys.stdout.flush()
强制刷新,但修复它的最干净的方法可能是使用Python解释器的-u
标志以无缓冲模式运行脚本:监督人.conf
(有同样的问题,在主管的mailing list中找到了解决办法)
相关问题 更多 >
编程相关推荐