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

时间:2012-12-28 15:48:07

标签: debian java-7 jstatd

我想在我的Debian服务器上启动jstatd作为一个守护进程(这是我认为应该自己做的......)但我似乎无法让它工作。

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

好的,然后让我们通过init.d脚本来完成它!

同样,它工作正常,但我的终端会话仍然被阻止。

我的开始命令是

/usr/bin/jstatd -J-Djava.security.policy=/usr/lib/jvm/jre1.7.0_10/bin/jstatd.all.policy

并且,如上所述,工作正常,因为我可以在执行命令后看到进程。

在init.d脚本中,它看起来像:

#!/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
...

可能导致此类行为的任何想法?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

中有空格
-- exec 

在“exec”本身之前。也许这是一个复制粘贴问题,但该脚本不起作用,AFAIK