问题标签 [procrun]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
456 浏览

procrun - 如何通过退出代码使用 Procrun 自动重启 Java 应用程序

我的应用程序具有自我更新功能。

它自己下载一个新版本,当下载过程结束时发生这种情况时,JVM 会以代码2退出。

如果出现退出代码2,是否可以将Procrun配置为自动重启服务?

0 投票
1 回答
100 浏览

windows - Apache Common Daemons:PrunServ --StartPath 参数覆盖 Windows 上的 PATH

我在 Windows 10 工作站上运行一个 java 程序。

我想将我的 java 程序作为服务运行,所以我使用了 apache commons tool prunserv http://commons.apache.org/proper/commons-daemon/procrun.html

问题是我的 java 程序在其中运行一些 windows shell 命令,cmd \c netstat -rn但是当我将我的 java 程序作为服务启动并将 StartPath 指定为某个目录时。我的 java 程序中的命令失败并出现如下错误

我觉得 procrun 的 StartPath 参数覆盖了 C:\Windows\System32 等 PATH 变量,从而使 java 程序中的命令失败

--StartPath 启动映像可执行文件的工作路径。

我应该如何处理这种情况?

如果您需要更多详细信息,请告诉我。

提前感谢您的帮助。

0 投票
1 回答
72 浏览

tomcat - Tomcat作为服务修改服务参数值

我目前在 Windows 服务器上将 tomcat 作为服务,我想通过 cmd 更新服务参数。我正在使用以下命令来执行此操作:

这很好用,但我注意到的一件事是,如果该键已经存在,它不会更新该值。相反,它附加了另一个键/值对。如果密钥已经存在,有没有办法让这个更新值,否则附加?

在这里,我运行了两次命令,您可以看到它只是追加了。

在此处输入图像描述

0 投票
1 回答
49 浏览

windows - TOMCAT:在 CATALINA_HOME 环境变量中引用 <'> 导致加载错误?

我正在尝试在以下路径中使用 service.bat 将 tomcat 安装为服务: C:\Program Files\text with' quote\Tomcat

但我不断收到以下错误: java.io.FileNotFoundException: C:\Program Files\text with quote\Tomcat\conf\logging.properties; (该系统找不到指定的路径)

正如您从错误消息中看到的那样, ' 被忽略,因此无法正确找到/加载某些文件。

如果我切换到没有引号的路径,一切正常。有没有办法解决这个问题,因为我需要在路径中包含一个 '?

0 投票
1 回答
405 浏览

windows - Apache Tomcat 10.0 静默安装

有谁知道如何在命令行上静默安装 Apache Tomcat 10?

我已经尝试过 /S ,但它不起作用。似乎什么都没有运行,我没有收到任何错误,它只是直接进入另一个命令提示符。

没有任何参数,安装程序会正确启动。

我希望所有的东西都安装为默认值,除了将 Windows 服务设置为自动而不是手动。

0 投票
0 回答
84 浏览

tomcat - Tomcat procrun 安装程序不适用于 catalina_home 路径中的空格

我正在从 .zip 安装 tomcat 并使用 service.bat 文件。我注意到如果 catalina_base 或 catalina_home 路径中有空格,它不会正确设置。

我使用以下内容调用 service.bat:

这是从 service.bat 输出的命令:

这会导致许多问题,因为 jvm 选项不正确,因为没有正确的引号来处理路径中的空格。我该如何处理?

仅供参考,这会导致 Tomcat 的配置元素无法找到 ${catalina.home} 用于日志记录和路径。

0 投票
0 回答
191 浏览

java-9 - Java 作为 Windows 服务与 Apache Procrun 和 --add-module --add-opens --add-exports

我们使用了 Java11 并且不得不添加

  • --添加模块
  • --添加打开
  • --add-exports 作为 JVM 参数

java 程序通过 Apache Procrun 作为 Windows 服务运行。将上述参数之一添加到 Java 参数会导致服务无法启动。如果我删除这些行,JVM 就会出现。

我已经将 procrunsvr 和 procrunmgr 更新到了最新版本。有Java 9 选项。但即使我在这里添加上述参数,服务也不会启动并以

我有这个 JVM 参数:

如何将 Java 9 及更高版本的参数添加到 procrun?

感谢 Nikolais 的提示,我不得不添加=标志。

0 投票
1 回答
351 浏览

java - 作为windows服务运行的嵌入式tomcat需要很长时间才能停止服务

我有一个使用嵌入式 tomcat(9.0.44) 的可执行 jar 文件。它使用 apache实用程序作为 Windows 服务(名为“ MyApp 测试服务”)运行。prunsrv但是当我尝试停止服务时,需要一些时间(超过一分钟)才能停止服务。但是启动服务非常快。我可以确认stop()tomcat的方法很快完成。我怀疑其中还有其他东西在prunsrv等待并需要时间来停止服务。请帮助了解发生了什么以及如何解决此问题(执行后立即停止服务tomcat.stop()

  • 注册服务 -C:\ServiceTest\prunsrv.exe" "//RS//MyApp Test Service"
  • 启动类和方法:com.samples.myapp.TestEmbeddedServer::main
  • 关机类和方法:com.samples.myapp.TestEmbeddedServer::stop

prunmgr UI 中的关闭和启动标签

TomcatEmbeddedServer .java

TestEmbeddedServer.java

以下是我获得的 prunserv 启动/关闭日志

在关闭信号之后的这些日志中,恰好有 1 分钟的延迟来破坏 JVM。我认为这就是它挂的地方。

在 prunmngr UI 中,进度指示器被关闭,但开始按钮未启用。请参阅下面的屏幕截图。

停止服务后的 GUI .. 进度条消失但按钮未启用

编辑:通过改变 Tomcat 版本的结果

使用的 Tomcat 版本 停止所用时间
Apache Tomcat/8.5.66 ~9 秒
Apache Tomcat/9.0.1 ~ 9 秒
Apache Tomcat/9.0.10 ~ 9 秒
Apache Tomcat/9.0.13 ~ 9 秒
Apache Tomcat/9.0.14 ~ 1 分 3 秒
Apache Tomcat/9.0.16 ~ 1 分 3 秒
Apache Tomcat/9.0.20 ~ 1 分 3 秒
Apache Tomcat/9.0.30 ~ 1 分 3 秒
Apache Tomcat/9.0.40 ~ 1 分 3 秒
Apache Tomcat/9.0.44 ~ 1 分 3 秒
Apache Tomcat/9.0.46 ~ 1 分 3 秒
Apache Tomcat/10.0.6 ~ 1 分 3 秒
0 投票
0 回答
21 浏览

java - Procrun 服务未在 Forground 中启动外部应用程序

我想使用 Procrun 实现一个服务。该服务应检查另一个应用程序的新版本,并提供更新/安装此应用程序的可能性。我的问题是,我使用 Runtime.exec 启动具有新版本的应用程序,它在后台启动它。但我想在前台启动应用程序以安装新版本。有人可以帮我做错什么吗?

0 投票
1 回答
143 浏览

tomcat - 当大小达到 20MB 时创建新的 STDOUT 或 STDERR 日志?

我正在使用 Tomcat 8 在 Window 10 中运行应用程序(作为窗口服务运行)。

我想通过以下两种方法中的任何一种来确认如何避免 STDOUT 或 STDERR 日志文件太大:

当大小达到 20MB 时创建新的 STDOUT 或 STDERR 日志?有什么方法可以实现上述任何方法吗?