如何在远程服务器上运行命令行程序

fun*_*oom 1 .net c# command-line windows-services

我编写了一个在命令行上运行的工具.
我可以在我的机器上的命令行上测试它,它工作正常.
然后我远程进入目标服务器机器并在那里的命令行上运行它,它仍然有效.

但是 ......这个工具需要继续运行(它是一个监控工具).
我不能让我的远程会话长时间打开,因为其他人需要使用它,当我关闭远程会话时,该命令行工具结束.

我不知道如何,并希望避免需要,写一个Windows服务,但基本上我需要这种能力.我需要几乎用命令行工具包装一个Windows服务,当我断开连接时,该服务可以继续在目标机器上运行.

任何人都可以提供有关如何做到这一点的任何见解/策略?

编辑:以下
两个帖子都很有帮助.

Han*_*son 5

如果是Windows Server 2003或更早版本,则可以使用Srvany.exe将任何应用程序作为服务运行.详情请见此处.

如果它是Windows Server 2008,则不正式支持SrvAny,但您可以通过从Win2003 Resource Kit或更早版本复制它,然后将其与Thomas中的说明以某种方式结合来破解它.

但是,编写一个合适的Windows服务非常简单,这是确保它与其他所有内容快乐共存的最佳方式.

只需在Visual Studio中创建一个Windows服务项目.在OnStart中,您将创建一个运行代码的线程.在OnStop中,您使用标志来停止服务.然后你可以在以后做得更好.