首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在我的linux服务器上,jstatd不会作为守护进程启动

在我的linux服务器上,jstatd不会作为守护进程启动
EN

Stack Overflow用户
提问于 2012-12-28 23:48:07
回答 2查看 1.6K关注 0票数 1

我想在我的Debian服务器上启动jstatd作为守护进程(这是我认为它应该独立完成的……)但我似乎不能让它工作。

如果我从命令行运行它,它可以正常启动,但会阻塞终端会话。然后我可以使用VisualVM远程监控进程(耶!)。但是,一旦我点击^c来控制会话,jstatd就会终止。

好的,那么让我们通过init.d脚本来做吧!

同样,它工作得很好,但我的终端会话仍然被阻塞。

我的启动命令是

代码语言:javascript
复制
/usr/bin/jstatd -J-Djava.security.policy=/usr/lib/jvm/jre1.7.0_10/bin/jstatd.all.policy

而且,如上所述,它工作得很好,因为一旦我执行命令,就可以看到进程。

在init.d脚本中,如下所示:

代码语言:javascript
复制
#!/bin/sh
set -e
NAME=jstatd
PIDFILE=/var/run/$NAME.pid
DAEMON=/usr/bin/jstatd
DAEMON_OPTS="-J-Djava.security.policy=/usr/lib/jvm/jre1.7.0_10/bin/jstatd.all.policy

case "$1" in
   start)
     start-stop-daemon --start --quiet --pidfile $PIDFILE -- exec $DAEMON -- $DAEMON_OPTS
...

你知道是什么导致了这样的行为吗?

EN

回答 2

Stack Overflow用户

发布于 2012-12-29 04:39:08

通过&将jstatd作为后台进程运行。作为普通用户从终端调用以下命令(注意&在末尾):/usr/bin/jstatd -J-Djava.security.policy=/usr/lib/jvm/jre1.7.0_10/bin/jstatd.all.policy &

票数 1
EN

Stack Overflow用户

发布于 2013-04-05 02:00:45

也许你已经解决了这个问题,但似乎在

代码语言:javascript
复制
-- exec 

在“执行”本身之前。也许这是一个复制粘贴的问题,但是这个脚本不应该工作,AFAIK

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14072049

复制
相关文章

相似问题

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