如何将CLI应用程序作为Windows服务运行?

假设我有第三方应用程序执行后台工作,但将所有错误和消息打印到控制台.这意味着,目前,我们必须让用户登录到服务器,并在每次重新启动时重新启动应用程序(双击).

不太酷.

我很确定,有一种简单的方法可以做到这一点 – 一个通用的服务包装器,可以配置stdout和stderr的日志文件.

我确实检查过svchost.exe,但是according to this site,它只用于DLL的东西.可怜.

编辑:应用程序需要从批处理文件启动. FireDaemon似乎可以做到这一点,但我认为它有点矫枉过正,因为可以在< 10行的python代码中完成...哦,好吧,不是在这里发明的......

Resource Kit查看 srvany.exe.这将允许运行任何服务.

您可以通过srvany.exe将服务定义中的参数传递给可执行文件,这样您就可以通过按如下方式设置注册表来运行批处理文件作为服务:

[HKEY_LOCAL_MACHINE\SYstem\CurrentControlSet\Services\MyService\Parameters]
"Application"="C:\\Windows\\System32\\cmd.exe"
"AppParameters"="/C C:\\My\\Batch\\Script.cmd"
"AppDirectory"="C:\\My\\Batch"

注意:如果在RegEdit中设置这些键而不是使用文件,则只需要在值中使用单个反斜杠.

相关文章

Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自...
主域控角色迁移和夺取(转载) 转载自:http://yupeizhi.blo...
Windows2012R2 NTP时间同步 Windows2012R2里没有了internet时...
Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...