<p>我用<a href="http://pypi.python.org/pypi/python-daemon/" rel="nofollow">python-daemon</a>编写了一个简单的脚本,它打印到<code>sys.stdout</code>:</p>
<pre><code>#!/usr/bin/env python
#-*- coding: utf-8 -*-
import daemon
import sys
import time
def main():
with daemon.DaemonContext(stdout=sys.stdout):
while True:
print "matt daemon!!"
time.sleep(3)
if __name__ == '__main__':
main()
</code></pre>
<p>这个脚本和我希望的一样工作,除了一个主要缺陷——当我在shell中键入时,它会中断我的输入:</p>
^{pr2}$
<p>有没有办法让输出以非侵入性的方式显示?我希望有这样的东西:</p>
<pre><code>(daemon)modocache $ git clo
matt daemon!! # <- displayed on new line
(daemon)modocache $ git clo # <- what I had typed so far is displayed on a new line
</code></pre>
<p>如果我对这个问题不太熟悉,请原谅我。在</p>
<h3>编辑:澄清</h3>
<p>我希望这个脚本运行daemonized的原因是我想从shell内部向shell用户提供更新,比如以非侵入性的方式将天气更新打印到控制台。如果有更好的方法来实现这一点,请告诉我。但目的是显示终端内部的信息(不是通过咆哮通知),而不是阻塞。在</p>