【问题标题】:Unable to start the batch script when servlet context initializedservlet 上下文初始化时无法启动批处理脚本
【发布时间】:2014-12-16 02:12:02
【问题描述】:

我正在尝试在服务器启动时使用上下文侦听器启动批处理脚本。

如下:

    Runtime.getRuntime().exec( cmd /C start /B MyBat.bat );

以上行在我的监听器类中,这将在服务器启动时被调用。

我的问题是我可以看到上面的行实际上被调用了,因为我有 sysout 下一行。但问题是它没有创建批处理。

但是当我关闭 tomcat 服务器时它会调用批处理脚本(关闭)

我可以通过jconsole tool in jdk查看这个过程

所以我尝试了这种方式:

    Runtime.getRuntime().exec( cmd /C start  MyBat.bat );
    // I have removed /B to make window visible.

当我这样做时,窗口出现并且工作正常。

但我希望这条Runtime.getRuntime().exec( cmd /C start /B MyBat.bat ); 行应该正确执行。

我在Tomact 7Windows server 2003 中运行这个。

请帮忙 谢谢。

【问题讨论】:

  • 你的bat文件和位置是什么
  • 位置一切都很好..它没有在预期的时间开始..

标签: java windows batch-file servlets cmd


【解决方案1】:

试试这个。

Runtime.getRuntime().exec("MyBat.bat");

在 windows 中执行 bat 文件无需提供cmd。因为bat文件在windows中是可执行的。

【讨论】:

  • 谢谢..我不知道我提到的过程在我的本地工作,但在服务器上失败..你的建议在服务器中正常工作。
猜你喜欢
  • 1970-01-01
  • 2021-09-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多