2012-12-28 5 views
1

내 데비안 서버에서 데몬 프로세스로 jstatd를 시작하고 싶다. (이것은 내가 독자적으로해야한다고 생각한 것이다.) 그러나 나는 보일 수 없다. 그것을 작동 시키려면.jstatd가 내 리눅스 서버에서 데몬 프로세스로 시작하지 않는다

명령 줄에서 실행하면 정상적으로 시작되지만 터미널 세션은 차단됩니다. 그런 다음 VisualVM을 사용하여 프로세스를 원격으로 모니터링 할 수 있습니다 (예!). 하지만 세션을 제어하기 위해^c를 누르 자마자 jstatd가 종료됩니다.

좋아, 그럼 init.d 스크립트를 통해 할 수 있습니다!

다시 말하지만 정상적으로 작동하지만 터미널 세션은 계속 차단됩니다.

내 시작 명령이 말했듯이 내가 명령을 실행하면 내가 프로세스를 볼 수있는, 잘 작동

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

입니다. 그런 행동의 원인이 될 수있는 어떤

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

모든 아이디어를 다음있는 init.d 스크립트에서

, 그것은처럼 보이는?

답변

1

jstatd을 &을 통해 백그라운드 프로세스로 실행하십시오. 어쩌면 /usr/bin/jstatd -J-Djava.security.policy=/usr/lib/jvm/jre1.7.0_10/bin/jstatd.all.policy &

0

이미이 문제를 해결했다,하지만 "간부"이전

-- exec 

에 공간이있는 것처럼 보인다 : 일반 사용자로 터미널에서 다음 명령 (끝 &주의)를 호출 그 자체. 어쩌면 복사 붙여 넣기 문제 일 수도 있지만 스크립트가 작동하지 않아야합니다. AFAIK