问题标签 [apache-commons-daemon]
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 - Apache Commons Daemon 服务破坏了 JRE(和其他奇怪的东西)
我们开发了一个使用 Procrun 包装为 Windows 服务的 jar,Procrun 是 Windows 服务的 Apache Commons Daemon 组件。在我自己的计算机和其他一些开发机器上一切正常,但是当我们将它安装在生产环境(Windows Server 2008)中时,我们开始出现奇怪的行为。
首先,在启动和停止服务后,由于某种原因,Java 停止工作。在任何命令提示符下键入经典的“java -version”绝对不会产生任何输出。尝试启动任何 Java 应用程序绝对没有效果。唯一的解决方案是重新安装 JRE。如果您在重新安装 JRE 后停止并启动该服务,它会再次损坏。
另一件奇怪的事情正在发生。有时,当使用 prunmgr 管理我们的服务时(在将其重命名为我们的服务名称后,说“MYSERVICE”),它会给我们一条消息,说服务“gMYSERVICE”没有安装。在某些情况下,它似乎认为我们的服务附加了一个“g”。有时存在两个额外的隐藏文件,可能存在 prunsrv 和 prunmgr 的副本,并附加一个“g”,如 gprunsrv.exe 和 gMYSERVICE.exe。即使打开隐藏文件模式,使用系统资源管理器也无法看到这些文件,但可以通过 teamviewer 检测到。
solr - Solr Windows 服务不会停止
我在我的服务器上设置了 Solr 并作为服务运行,一切运行良好,直到我尝试停止服务,它只是挂起。我曾尝试修改这些论点,并一直在尝试查看是否有人遇到同样的问题。不幸的是,我的 google fu 让我失望了。
使用 Commons Daemon Service Runner 按以下方式设置服务。
amazon-ec2 - 无法启动在 Windows Server 上使用 Apache Daemon 创建的服务 - Amazon EC2
我在尝试启动我在Amazon EC2 实例 (Windows Server 2012 R2) 上使用Apache Daemon创建的 Windows 服务时遇到了一些麻烦。我收到的错误是“Windows 无法在本地计算机上启动 service_name。有关详细信息,请查看系统事件日志。如果这是非 Microsoft 服务,请联系服务供应商,并参阅特定于服务的错误代码1."
我检查了一些其他链接,大多数类似的问题都与 Apache 服务器问题有关,但我已经让 Apache Tomcat 在这里完美运行,而且问题似乎只与 Windows 服务有关。
有人有什么主意吗?
nsis - 具有很长参数列表的 NSIS Exec 命令被下一行截断
在我的 NSIS 脚本中,我有以下几行(没有将第一行变成代码块,因为它太长并且看起来像 1 行一样糟糕):
Exec '"$BINDIR\SubscriberACD.exe" //IS//SubscriberACD --Install="$BINDIR\SubscriberACD.exe" --Description="带有 Apache Commons Daemon 的订阅者服务" --Jvm="$JVMDIR\jvm. dll" --Classpath="$CLASSESDIR\SubscriberACD.jar;$CLASSESDIR\jeromq-0.3.5.jar;$CLASSESDIR\jackson-databind-2.6.3.jar;$CLASSESDIR\jackson-core-2.6.3.jar ;$CLASSESDIR\jackson-annotations-2.6.0.jar;$CLASSESDIR\management-core-util-4.1.2.jar;$CLASSESDIR\management-measurement-4.1.2.jar;$CLASSESDIR\management-measurement-checkpoint -writer-1.0.jar;$CLASSESDIR\jna-4.2.2.jar;$CLASSESDIR\jna-platform-4.2.2.jar" --StartMode=jvm --StartClass=SubscriberACD.Subscriber --StartMethod=windowsService -- StartParams=start --StopMode=jvm --StopClass=SubscriberACD.Subscriber --StopMethod=windowsService --StopParams=stop --LogPath="$INSTDIR\SubscriberACD\logs" --StdOutput=auto --StdError=auto'
不知何故,当我查看我的 NSIS 日志时,我看到以下内容:
执行:“C:\Program Files (x86)\MyProduct\SubscriberACD\bin\SubscriberACD.exe” //IS//SubscriberACD --Install="C:\Program Files (x86)\MyProduct\SubscriberACD\bin\SubscriberACD。 exe" --Description=" Apache Commons Daemon 的订阅者服务" --Jvm="C:\Program Files (x86)\MyProduct\SubscriberACD\jdk7\jre\bin\server\jvm.dll" --Classpath="C :\Program Files (x86)\MyProduct\SubscriberACD\classes\SubscriberACD.jar;C:\Program Files (x86)\MyProduct\SubscriberACD\classes\jeromq-0.3.5.jar;C:\Program Files (x86)\ MyProduct\SubscriberACD\classes\jackson-databind-2.6.3.jar;C:\Program Files (x86)\MyProduct\SubscriberACD\classes\jackson-core-2.6.3.jar;C:\Program Files (x86)\ MyProduct\SubscriberACD\classes\jackson-annotations-2.6.0.jar;C:\Program Files (x86)\MyProduct\SubscriberACD\classes\management-core-util-4.1.2。jar;C:\Program Files (x86)\MyProduct\SubscriberACD\classes\management-measurement-4.1.2.jar;C:\PrograExecute: "sc"配置 SubscriberACD start=auto
请注意 NSIS 如何将这两行结合起来,并实际上覆盖了第一行的一些内容。关于造成这种情况的任何想法?NSIS 不喜欢带有长参数的命令吗?
最初,我将 ExecWait 用于我的第一个命令。当我看到同样的问题时,我切换到使用 Exec,然后添加了一个 Sleep 5000 以休眠 5 秒,因为我认为这可能是一个时间问题。
我仔细检查了引号以确保它们匹配。
c - waitpid - 在什么情况下 WIFEXITED 和 WIFSIGNALED 都会是假的?
我正在使用Apache commons-daemon 的 jsvc在 Linux 上将 Java 程序作为守护程序运行。
守护程序“随机”崩溃,仅显示消息:
这是jsvc
(第 1142 行)中jsvc-unix.c
代码的相关部分:
在哪种情况下WIFEXITED
,WIFSIGNALED
两者都可以是假的?是否保证在这种情况下进程没有被杀死(被进程或 Linux OOM 杀手)?
java - karaf (4.0.8) 和 commons-daemon
我们是第一次使用 Karaf(4.0.8),我们几乎完成了所有的东西,但卡在了服务模式。我们不想使用服务包装器(即 tanuki 许可证)。我们想使用 Commons-daemon。
我正在尝试使用 commons-dameon 运行 Karaf。
任何帮助/参考都非常感谢..有关如何将 common-daemon 与 Karaf 一起使用的任何步骤
谢谢, 斯洛克
java - 带有 Apache.Commons.Daemon 的 Quartz 调度程序
我创建了一个使用 Quartz Scheduler 的 java 应用程序。我正在尝试使用 Apache.Commons.Daemon 将其包装在 Windows 服务中。守护进程需要一个启动和停止方法。在调用 stop 方法之前,start 方法不应完成。如果我使用 start 方法调用 Quartz Scheduler,start 方法完成,控制权被传递给 Quartz 库中的一个方法。
调度程序需要灵活(一周中的某些天和一天中的某些时间),但我不依赖于 Quartz。我需要能够运行应用程序,即使没有用户登录,但我没有绑定到 Apache.Commons.Daemon。
关于我如何处理这个问题的任何建议?
谢谢,雷蒙德
java - java.lang.NoClassDefFoundError: ajavaservice/DemoService
我正在尝试将 Java 程序作为 Windows 服务运行,而我的日志文件显示此错误。我想提供路径时有错误,但我无法弄清楚。
我的批处理文件
windows-services - 设置 Windows 服务的工作目录
我正在使用 Apache Commons Daemon 的procrun将 Java 应用程序包装为 Windows 服务。我遇到的问题与服务的工作目录有关,即C:\Windows\system32
. 服务所需的配置文件是相对于应用程序(在.\conf
目录中)引用的。
我尝试了--StartPath
参数,procrun
但它并没有影响服务的工作目录。(更新:我现在看到该参数仅在启动 exe 时才有效。)我试图保持应用程序跨平台,因此除非绝对必要,否则我不想修改配置文件路径。
有没有办法设置 Windows 服务的工作目录?
java - 从任务管理器中删除停止的 Windows 服务
我正在运行用户创建的 Windows 服务,它工作正常。它也显示在任务管理器中,但是当我停止此服务时,它仍会继续显示在任务管理器中。我的问题 - 当从服务面板停止服务时,是否有可能从任务管理器中删除服务?