<p>我成功地使用<a href="http://code.activestate.com/recipes/551780-win-services-helper/" rel="nofollow">this recipe at ActiveState: ^{<cd1>}</a>将Python脚本作为服务安装。在</p>
<p>为了充分利用它,我在程序中加入了业务端,替换了第99-100行:</p>
<pre><code> 95 class Test(Service):
96 def start(self):
97 self.runflag=True
98 while self.runflag:
99 # My logging script
100 # goes here
101 def stop(self):
102 self.runflag=False
103 self.log("I'm done")
105
106 instart(Test, 'aTest', 'Python Service Test')
</code></pre>
<p>我的问题是,服务只记录一个条目,然后自行停止。然后我转到<code>services.msc</code>,再次尝试启动服务,然后Windows显示以下消息:</p>
<blockquote>
<p>The Python Service Test service on Local Computer started and then stopped. Some services stop automatically when they have no work to do, for example, the Performance Logs and Alerts service.</p>
</blockquote>
<p><strong>为什么我的服务在我把它放在一个无限循环中时认为它没有什么关系?</strong>只有当我关闭计算机并在下次打开计算机时重新开始工作时才会停止,即使没有任何人登录。在</p>
<p><strong>注意:</strong>我的日志脚本使用简单的文件读/写<code>csv</code>。它不使用任何花哨的日志记录模块。在</p>