首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache jsvc无法停止守护进程。

Apache jsvc无法停止守护进程。
EN

Stack Overflow用户
提问于 2012-08-23 17:30:08
回答 1查看 8.2K关注 0票数 10

我正在使用本机编译的jsvc启动java守护进程。我是在openSUSE 32位虚拟机上运行这个的。代码实现了Apache的守护进程接口,我使用以下命令执行deamon。

代码语言:javascript
复制
./jsvc -home jre -errfile logs/jsvc.err -pidfile daemon.pid -cp <my_classpath> com.loader.loaderservice.LoaderDaemon

它的启动和运行没有问题。我可以以普通用户和root用户的身份启动守护进程。但是,当我终止守护进程时,jsvc将终止进程,而不是发出停止命令。

代码语言:javascript
复制
./jsvc -stop -home jre -outfile logs/jsvc.err -errfile logs/jsvc.err -pidfile daemon.pid -cp <my_classpath> com.loader.loaderservice.LoaderDaemon

守护进程会死,但它不会执行任何关闭步骤(例如,它应该记录,在db中标记一个记录,等等)。我在日志/jsvc.err文件中得到了以下内容,它不编写任何其他日志:

代码语言:javascript
复制
Service exit with return value 143

在谷歌搜索错误后,我看到了少数人,他们都看到了相同的东西,但我找不到一个好的解决方案(mbox/commons-dev/200401.mbox/%3CPine.GSO.3.96.1040105133739.23375A-100000@merlot.tel.uva.es%3Ehttp://www.tek-tips.com/viewthread.cfm?qid=1014679http://threebit.net/mail-archive/tomcat-users/msg03832.html)。

更新:使用Apache的服务启动程序(),我可以启动和停止服务,而不会出现任何问题。这个问题似乎只与jsvc相关,而且只与停止守护进程有关。

更新2:在更仔细地阅读了jsvc之后,我注意到我使用的停止标记通过我指定的pid文件发出了杀死命令pn。似乎jsvc实际上并没有通过设计来优雅地停止守护进程。这与我所看到的行为是一致的,因为非常冗长的停止方法并没有写出任何消息。

代码语言:javascript
复制
-stop        stop the service using the file given in the -pidfile option

新问题:

  • 如果我的java main实现了Apache接口,如何在运行中的守护进程上发出“停止”?
  • 我是否需要jsvc以外的其他东西(这似乎只对启动或杀死守护进程有用)?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-29 20:40:15

啊,好吧。结果,jsvc停止命令的行为是正确的。我不得不深入研究进程如何通过杀死命令在Linux/Unix中接收终止消息。Jsvc在守护进程上发出一个杀死-15 (这是一个软杀死)。有关unix进程如何接收消息的说明,请参见:http://commons.apache.org/daemon/(command

真正的问题在于守护进程的构建。在我的start方法中,守护进程循环,直到发出一个关机命令,这阻止了守护进程作为守护进程子进程放弃控制。

我有这样的经历:

代码语言:javascript
复制
@Override
public void start() 
{
    doStartWork();
    while (isAlive()) 
    {
        Thread.sleep(1000); 
    }
}

下面应该有,这样我就可以返回并允许守护进程线程接收来自操作系统的信号。请参阅works,请参阅“受控进程:”一节。

代码语言:javascript
复制
@Override
public void start() 
{
    doStartWork();
}
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12097104

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档