2012-08-07 4 views
0

나는 서비스를 정하고 /etc/rc.d/init.d/somename 폴더에 넣었다. 레벨 2-5의 chkconfig에 들어있다.redhat 리눅스 서비스를 올바르게 시작하는 방법은 무엇입니까?

그러나 service somename start,을 실행하면 시작되지 않습니다. 그러나 somename start을 직접 실행하면 시작됩니다.

어느 부분이 잘못 되었습니까?

감사합니다.

#!/bin/sh 
# Startup script for xxx 
# 
# chkconfig: 2345 99 99 
. /etc/rc.d/init.d/functions 

prog="file" 


start() { 
    echo -n $"Starting : " 
    echo 
    daemon /path/to/some/file 
    let RETVAL=RETVAL+$? 
    return $RETVAL 
} 

stop() { 
    if test "x`pidof -x $prog`" != x; then 
     echo -n $"Stopping $prog: " 
     killproc $prog 
     echo 
    fi 
    RETVAL=$? 
    return $RETVAL 
} 

case "$1" in 
     start) 
      start 
      ;; 

     stop) 
      stop 
      ;; 

     status) 
      echo $prog 
      status $prog 
      ;; 

     restart) 
      stop 
      start 
      ;; 
     *) 
      echo $"Usage: $0 {start|stop|restart|status}" 
      exit 1 

esac 

답변

1

귀하의 스크립트가 틀린 것 같습니다.

스크립트 시작 부분에 set -x을 추가하고 다시 시작하면 어떤 일이 발생하는지 볼 수 있습니다.

+0

답장을 보내 주셔서 감사합니다. 스크립트는 실제로 옳았습니다. 문제는 프로세스 중에 종료 된 서비스 자체가 원인이었습니다. – Wei

관련 문제