/etc/init.d/ 스크립트가 로드 중에 시작되어 시스템이 충돌합니다.

/etc/init.d/ 스크립트가 로드 중에 시작되어 시스템이 충돌합니다.

Centos 6.4 머신이 있습니다. /etc/init.d/를 사용하여 나만의 스크립트를 만들었습니다. 아래는 제가 인터넷에서 가져와서 시도한 스니펫입니다. 이제 문제는 OS를 로드할 때 작동이 시작되고 더 이상 전체 OS를 전혀 로드할 수 없다는 점입니다. 지금 시스템에 접속할 수 없으면 어떻게 해야 합니까?

#!/bin/bash
# chkconfig: 2345 95 05
# myapp daemon
# description: myapp daemon
# processname: myapp

DAEMON_PATH="/usr/local/bin/"
DAEMON=myap1.c
#DAEMONOPTS="-my opts"
NAME=myap1.c
DESC="my packet capture"

PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

case "$1" in
start)
    printf "%-50s" "Starting $NAME..."
    insmod /usr/local/pfring/kernel/pf_ring.ko
    /usr/local/bin/myap1.c
    #cd $DAEMON_PATH
    #PID=`$DAEMON > /dev/null 2>&1 & echo $!`
    #echo "Saving PID" $PID " to " $PIDFILE
    #    if [ -z $PID ]; then
    #        printf "%s\n" "Fail"
    #    else
    #        echo $PID > $PIDFILE
    #        printf "%s\n" "Ok"
    #    fi
;;
status)
        printf "%-50s" "Checking $NAME..."
        if [ -f $PIDFILE ]; then
            PID=`cat $PIDFILE`
            if [ -z "`ps axf | grep ${PID} | grep -v grep`" ]; then
                printf "%s\n" "Process dead but pidfile exists"
            else
                echo "Running"
            fi
        else
            printf "%s\n" "Service not running"
        fi
;;
stop)
        printf "%-50s" "Stopping $NAME"
            PID=`cat $PIDFILE`
            cd $DAEMON_PATH
        if [ -f $PIDFILE ]; then
            kill -HUP $PID
            printf "%s\n" "Ok"
            rm -f $PIDFILE
        else
            printf "%s\n" "pidfile not found"
        fi
;;
restart)
    $0 stop
    $0 start 
;;
*)
        echo "Usage: $0 {status|start|stop|restart}"
        exit 1
esac

답변1

이 라인에 따르면

# chkconfig: 2345 95 05

스크립트에서 다음으로 시스템을 부팅할 수 있어야 합니다. 단일 사용자 모드그런 다음 스크립트 자동 시작을 비활성화합니다(스크립트는 실행 수준 2345에서 기본적으로 활성화됩니다).

단일 사용자 모드에서 시작하는 방법은 무엇입니까?

  1. 시작 시 GRUB 시작 화면이 나타나면 아무 키나 눌러 GRUB 대화형 메뉴로 들어갑니다.
  2. "Red Hat Enterprise Linux"와 부팅하려는 커널 버전을 선택한 다음 a를 입력하여 줄을 추가합니다.
  3. 줄 끝으로 이동하여 Single을 별도의 단어로 입력합니다(스페이스바를 누른 다음 Single을 입력). 편집 모드를 종료하려면 Enter를 누르세요.

관련 정보