在我昨天发表的另一个问题中,我得到了非常好的建议,可以让Python脚本在Windows中作为服务运行。我现在想知道的是:Windows如何知道可以在本地工具(“管理工具”中的“服务”窗口)中管理的服务。也就是说,在Linux下将启动/停止脚本放入/etc/init.d中的Windows等效方法是什么?
在我昨天发表的另一个问题中,我得到了非常好的建议,可以让Python脚本在Windows中作为服务运行。我现在想知道的是:Windows如何知道可以在本地工具(“管理工具”中的“服务”窗口)中管理的服务。也就是说,在Linux下将启动/停止脚本放入/etc/init.d中的Windows等效方法是什么?
DESCRIPTION: SC是一个用于与NT服务控制器和服务进行通信的命令行程序。 USAGE: sc [command] [service name] ...
选项的格式为“\\ ServerName” 输入“sc [command]”可获取有关命令的更多帮助信息。 命令: query-----------查询服务状态或列举服务类型的状态。 queryex---------查询服务的扩展状态或枚举服务类型的状态。 start-----------启动服务。 pause-----------向服务发送PAUSE控制请求。 interrogate-----向服务发送INTERROGATE控制请求。 continue--------向服务发送CONTINUE控制请求。 stop------------向服务发送STOP请求。 config----------更改服务的配置(持久)。 description-----更改服务的说明。 failure---------更改服务在失败时执行的操作。 qc--------------查询服务的配置信息。 qdescription----查询服务的说明。 qfailure--------查询服务在失败时执行的操作。 delete----------删除服务(从注册表中)。 create----------创建服务(将其添加到注册表中)。 control---------向服务发送控制。 sdshow----------显示服务的安全描述符。 sdset-----------设置服务的安全描述符。 GetDisplayName--获取服务的DisplayName。 GetKeyName------获取服务的ServiceKeyName。 EnumDepend------枚举服务依赖项。
以下命令不需要服务名称: sc boot------------(ok | bad)指示上次启动是否应保存为最后一个已知的良好启动配置 Lock------------锁定服务数据库 QueryLock-------查询SCManager数据库的LockStatus EXAMPLE: sc start MyService
这里是安装Python脚本作为服务的代码,使用Python编写 :)
http://code.activestate.com/recipes/551780/
这篇文章也可能对您有帮助:http://essiene.blogspot.com/2005/04/python-windows-services.html
你可以使用 Windows NT 资源工具包中的 srvany.exe 创建一个用户定义的服务,该服务将显示在管理工具中...
http://support.microsoft.com/kb/137890
我正在使用这种方法来运行tracd(一个Python脚本/服务器)以供Trac使用。
以下是一些非常清晰的说明:http://www.tacktech.com/display.cfm?ttid=197
它确实需要一些注册表编辑(非常简单和容易),但将允许您将任何命令行/脚本作为Windows服务。