问题标签 [jsvc]

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 投票
0 回答
1093 浏览

java - /usr/bin/jsvc: No such file or directory 尝试运行 jsvc 时出错

尝试使用我/usr/bin/jsvc: No such file or directory的 java 程序运行 jsvc 时出现错误。我试过这个

检查我是否在正确的位置安装了 java,但仍然出现错误。谁能指出我做错了什么?这是我要运行的命令的一部分:JAVA_HOME=$JAVA_HOME /usr/bin/jsvc -cp /opt...

0 投票
1 回答
495 浏览

java - JSVC re-exec 需要使用绝对或相对路径执行

我的课:

我像这样运行 jsvc 跟随文档:

jsvc -cp Daemon.jar Main

jsvc -cp Daemon.jar MainClass

jsvc -cp ./commons-daemon-1.1.0.jar:./Daemon.jar MainClass

它也是返回:

JSVC re-exec 需要使用绝对或相对路径执行

谁能解释一下?请帮帮我!!!。

0 投票
0 回答
12 浏览

java - 如果进程没有运行,JSVC 可以执行脚本(不是 java 程序)吗?

如果进程没有运行,JSVC 是否可以检查写入文件的 processId 并执行脚本(不是 java 程序)?

0 投票
0 回答
232 浏览

java - JSVC 守护进程停止不等待线程完成

我已经使用 apache jsvc 在 linux 上部署了 java 服务应用程序。这是一个多线程应用程序,但是当启动守护进程停止时,它会在所有线程完成之前杀死 jvm。

它是这样的:

  1. 实现 daemon 接口的 WorkerLauncher,启动服务
  2. WorkerPool 类启动由 Worker 类表示的父线程和工作(子)线程。
  3. 当 WorkerLauncher stop 被调用时,WorkerPool 线程被中断并且这个 InterruptedException 被捕获,其中子线程也被中断。
  4. 当子线程被中断时,它会在停止之前执行计算。这就是它出错的地方:我猜在线程被杀死之前计算还没有完成(这里不太确定)。

工人启动器

工人池

工人

这只是来自实际应用程序的一个示例,但是我重现了同样的问题。commons-daemon 1.1 和 1.2 版本经过测试。如果长计算被删除或持续更短(更好的性能)一切正常。我在这里想念什么?有任何想法吗?

以下是日志输出的样子:

请注意如何Worker {] stopped丢失。并且在实际应用程序中,由 worker 启动的 3rd 方进程仍在运行,ps -A即使 jsvc 未显示在进程中也可以看到。

编辑

修改stop()方法:

日志输出:

我使用 jsvc启动/停止服务:

开始

停止

重要的!

忘了提一下,这个应用程序在使用 apache procun 的 Windows 上按预期工作。这只发生在使用 jsvc 在 linux 上启动它时。

另一个编辑

如果我在一切正常之后等待线程完成(检查是否有工作线程isAlive) 。pool.stop()WorkerLauncher.stop()

在 WorkerPool 中:

但我仍然不知道为什么会发生这种情况......有什么想法吗?

0 投票
0 回答
25 浏览

java - Jsvc 到 Java 迁移

我已经用 JSVC 守护了 java 应用程序,我现在想用 java 运行它。jsvc上有一个-errfile标志,但我在java端找不到类似的东西。我只能找到关于 stderr 的信息。我想听听您是否有建议。