问题标签 [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.
java - prunsrv.exe 服务未启动
我正在尝试使用 prunsrv.exe 为应用程序安装和启动服务
我可以正常安装服务,但服务无法启动并给我一个错误
以下是用于使用 prunsrv.exe 安装服务的配置
以上配置打包成批处理文件执行安装服务
也没有生成日志文件,因此我什至无法调试。
请告诉我哪里出错了
java - JNI 组件崩溃后 Procrun 无法重启 Java 服务
我在尝试通过 Apache procrun 作为 Windows 服务运行的 Java 应用程序时遇到问题。
该应用程序由 2 个组件组成,一个 Java 组件,应用程序的主要部分所在的位置。还有一个 C 组件,它使 java 应用程序能够与某些硬件进行通信。两者之间的接口使用Java Native Interface (JNI)。
如果 C 组件发生崩溃,整个 JVM 也会被关闭。然而,在 procrun 中,这将作为“VM 退出代码:0”返回。(见下文)
这意味着 Windows 服务认为服务已安全关闭,并且不会尝试使用服务恢复事件重新启动服务。
理想情况下,我需要 procrun 才能检测到 JVM 已崩溃。并返回合适的错误代码。这将使 Windows 能够检测到错误,并能够重新启动服务。
我已经阅读了 Procrun 文档,并没有提到能够在内部将 JVM 重新启动到 Procrun。但是在他们的票务系统中提到了这样一个功能:
https://issues.apache.org/jira/browse/DAEMON-301
有谁知道这个功能是否还没有实现?还是它存在并且根本没有记录?
有关此问题的任何其他建议也将不胜感激。
java - procrun 如何执行 jvm.dll?
根据procrun 文档,procrun 可以在“jvm 模式”下运行,它将“在进程中启动 Java”。
这是否意味着 procrun.exe 本身会加载 jvm.dll,然后调用一个入口点?如果是这样,那么 1) 入口点是什么?2)“java.exe”可执行文件是否具有每个java版本不同的代码,这不是procrun.exe需要的信息吗?那么跳过运行 java.exe 并直接进入 dll 是如何可行的呢?
java - Java如何持久化进程引用以便我可以运行 process.destroy()
我想通过我创建的可执行 jar 启动 web 服务(这样我最终可以使用 procrun 让它作为 Windows 服务启动)。Web 服务当前通过调用类的 main 方法通过命令行启动。
到目前为止,这是我的代码:
启动工作正常。我在任务管理器中看到进程启动,我现在可以拉起 WSDL。但是,当我通过process.destroy()
(通过调用 main 方法stop
)杀死进程时,我得到一个空指针异常,我认为这是因为这是 jvm 的一个新实例,所以它不知道我调用时的进程start
。什么是保持这个进程对象或 pid 或其他东西的最佳方法,所以当我去调用停止时,我可以找到并终止正在运行的 web 服务(java 进程)?
java - 使用 procrun 启动 Java WebStart
我正在尝试使用procrun
. 为了做到这一点,我创建了一个小型 Java 应用程序,它只使用ProcessBuilder
. 如果我直接运行这个应用程序,我没有任何问题,Java WebStart 也启动了。如果我使用 运行配置为 Windows 服务的应用程序procrun
,则什么也没有发生。procrun 日志告诉我没有发生任何不好的事情,但没有启动 Java WebStart(没有看到 UI,也没有来自 JavaWS 的服务器请求)。
我想知道是否有可能做我想要实现的目标,是否有其他方法可以做到这一点?
我的目标是启动一个小型 Java 应用程序,它使用 JMS 和一些使用 JavaWS 的 Swing UI,并将其作为 Windows 服务启动(它必须始终在系统中启动)。
java - 无法从 Windows Server 2008 r2 中的快捷方式将应用程序部署为 Windows 服务
我有一个java应用程序。该应用程序在 Windows Server 2008 r2 上作为 Windows 服务(使用 procrun 包装器)运行。通过 install.bat 文件将应用程序安装为 Windows 服务,其中包含以下文本:
当我以管理员身份从控制台(cmd.exe)启动此文件时 - 然后服务部署正常。但是,如果我创建 install.bat 的快捷方式并尝试以管理员身份启动 - 那么服务不会部署。我认为这是因为用户控制帐户(因为在 Windows XS 和 Windows Server 2003 上从快捷方式部署工作正常),但我无法更改这些设置。如何在 Windows server 2008 r2 上解决这个问题?
batch-file - Jar 文件未作为 Windows 服务运行(使用 Procrun)
我第一次尝试将 jar 文件作为服务运行。我可能犯了一些愚蠢的错误(或大错)。我正在使用“procrun”将 jar 文件安装为服务。我可以在 Windows 服务中看到我的服务名称,但是当我运行它时,它给了我以下错误。
“Windows 无法在本地计算机上启动 PollerServiceMy”。有关详细信息,请查看系统事件日志。----- 请参阅服务特定错误代码 0。"
我正在使用以下批处理文件
===========================================
谁能让我知道我在哪里失踪?它也没有创建日志文件。提前致谢。
java - 使用附加库从 java 类制作 windows 服务
我正在使用 apache commons deamon 来制作 Windows 服务。从没有包含库的 java 类中创建一个简单的服务就可以了。但我的目的是使用包含多个 jar 库的 java 类提供服务。我尝试了两件事来做到这一点,但没有成功。做的第一件事是制作 --classpath (pathToClassFile);(pathToJarLibraries)/*jar ; 这导致了 NoClassDefFoundException 我做的第二件事是制作一个可运行的 jar(其中包括所有作为可执行文件的库)。使用 java -jar (pathToJar) 在命令提示符下运行它没问题,但将其作为服务再次导致 NoClassDefFoundException。谁能告诉我如何告诉 prunsrv 命令我有一些运行主类文件所需的 jar 库?
windows-services - 查询 Zookeeper Windows API 启动/停止,使用 Zk 作为 Windows 服务(使用 prunsrv)
我在我的产品(3.3.3)中使用了动物园管理员。在 Windows 上使用 zookeeper 时,我正在创建一个服务(使用 prunsrv),我几乎没有查询和问题。都列出来了,
问题:1)zkServer.cmd 没有在 Win server 2008 机器和 Win 7 Enterprise(64 位)上启动,必须替换以下行,
至
2)在zoo.cnf中我指定了dataDir,它仍然创建了一些其他目录(bin/zookeeper-3.4.5zookeeper-3.4.5data/version-2/snapshot)并将快照存储在那里。
查询: 1)zkServer.cmd 没有启动/停止,因为它在 zkServer.sh 中,所以基本上它是用 zkServer.cmd 启动的,但是要停止我做一个 Ctrl+C/Z 所以如果我启动这个过程,它是一个前台进程,当我执行 ctrl+C 时被杀死
2)我必须创建一个动物园管理员服务,我正在使用 prunsrv 来做到这一点。我想出了以下两种方法。
基本上在第二种方法中,我自己在做 zkServer.cmd 完成的所有任务
=>> 我的查询在第二步(2b)中,要停止服务应该有一个暴露的停止方法,以便在我停止服务时调用它。所以现在如果我创建一个服务并启动它,ZK 运行良好,但停止它需要无限期,所以我必须去杀死这个进程。是否有相同的 stop(),我看到了一个 shutdown() 但没有描述
我通过了org.apache.zookeeper.server.quorum.QuorumPeerMain这个类,这里main()是启动方法(如果我的理解是正确的),应该有一些方法可以关闭进程。
刚刚得到以下链接
https://issues.apache.org/jira/browse/ZOOKEEPER-1122,公开启动/停止,但停止有一些问题
它引发以下错误:
我在管理员控制台上运行此停止命令。
E:\zookeeper-3.4.5\zookeeper-3.4.5\bin>任务列表| findstr "java" java.exe 10324 控制台 1 36,036 K.
任何帮助将不胜感激
spring-boot - Spring Boot JAR 作为 Windows 服务
我正在尝试用 procrun 包装弹簧靴“uber JAR”。
按预期运行以下工作:
java -jar my.jar
我需要我的 spring boot jar 在 Windows 启动时自动启动。最好的解决方案是将 jar 作为服务运行(与独立的 tomcat 相同)。
当我尝试运行它时,我得到“Commons Daemon procrun failed with exit value: 3”
查看 spring-boot 源代码,它看起来好像使用了自定义类加载器:
尝试直接运行我的主要方法时,我也会收到“ClassNotFoundException”。
java -cp my.jar my.MainClass
有没有一种方法可以用来在 Spring Boot jar 中运行我的 main 方法(而不是通过 JarLauncher)?
有没有人成功地将 spring-boot 与 procrun 集成?
我知道http://wrapper.tanukisoftware.com/。但是由于他们的许可证,我不能使用它。
更新
我现在已经设法使用 procrun 启动服务。
我现在只需要锻炼如何停止服务。我正在考虑对 spring-boot actuator 关闭 JMX Bean 做一些事情。
当我现在停止服务时会发生什么;windows无法停止服务(但将其标记为已停止),服务仍在运行(我可以浏览到本地主机),任务管理器中没有提到该进程(不是很好!除非我是盲人)。