我想在我的 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
...
任何想法可能导致这种行为?