2009-01-06 55 views
108

为了运行一个应用程序,必须启动一个批处理文件(它执行诸如启动Jetty,显示实时日志等)。只有当这个批处理文件正在运行时,应用程序才会工因此,我被迫让这个批处理文件运行,而不是从Windows服务器注销。将批处理文件作为Windows服务运行

该批处理文件可以作为服务运行吗?我正在试验来自similar question的其中一条建议。

+21

批处理编程是话题的堆栈交换。 – 2014-01-14 01:59:07

+10

好问题。 +1。主持人太生气了...另外我还有一个很好的答案,但问题关闭了(( – gavenkoa 2015-01-09 16:48:59

+0

我使用这个RunAsService而不是:http://runasservice.com/。它使用起来非常简单,没有XML配置的废话。基本上这只是给你RunAsService。exe可执行文件,它将任何控制台应用程序作为服务包含命令行参数。我用它来运行Cygwin bash脚本作为服务!不幸的是,这个简单的工具似乎是封闭的。 – Kaz 2015-03-12 18:48:10

回答

3

正如Doug Currie所说的使用RunAsService。

从我过去的经验,你必须记住服务你产生将

  • 有一个完全不同的环境变量
  • 必须仔细检查是否有权利/权限问题
  • 可能会造成严重破坏如果它打开对话框要求任何类型的输入

不知道是否最后一个仍然适用......这是一个项目中的大夜母马我工作在某段时间之前ked。

1

尽管它不是免费的(但是39美元),FireDaemon对我来说效果非常好,我不得不推荐它。它可以运行你的批处理文件,但是它具有额外的非常有用的功能,如调度,服务监控,基于GUI或XML的服务安装,依赖关系,环境变量和日志管理。

我开始使用FireDaemon推出JBoss应用服务器(的run.bat),但不久后实现了FireDaemon配置能力的丰富性让我抛弃批处理文件并重新创建它的命令在FireDaemon意图服务定义。

还有一个叫做Trinity的SUPER FireDaemon,如果你有大量的Windows服务器来管理这项服务(或者从技术上说,任何服务),你可能会想看看。

50

为什么不简单地将它设置为计划在启动时运行的计划任务?

1

AlwaysUp将很容易地运行您的批处理文件作为服务。它与FireDaemon(上面提到的)类似,并不是免费的,但您可能会发现丰富的功能在专业环境中成为一项资产。

祝你好运!

100

NSSM是完全免费的,超方便,运行命令提示符/终端管理员:

nssm install "YourCoolServiceNameLabel" 

然后会出现一个对话框,以便您可以选择在哪里是要运行该文件。

卸载

nssm remove "YourCoolServiceNameLabel" 
相关问题