rc.local의 스크립트(부팅 시 시작됨), 시작되지 않음

rc.local의 스크립트(부팅 시 시작됨), 시작되지 않음

내 데비안에는 /etc/rc.local2개의 스크립트를 넣었습니다(하나는 Wi-Fi AP용이고 다른 하나는 VPN 클라이언트 연결용).

sh /bootscripts/vpn.sh &
sh /bootscripts/wifiap.sh &

#test:
date >> /home/user24/Desktop/logdate

exit 0

두 스크립트 모두 실행 가능 rwxr-xr-x하며( ) 해당 shebang 행은 입니다 #!bin/bash.

하지만 그들은 달리지 않습니다. 내가 어디서 잘못됐나요?

답변1

각 다중 사용자 런레벨의 끝에서 실행 되므로 /etc/rc.local시작 스크립트를 추가하는 올바른 위치가 아닙니다./etc/rc.local어떤 식으로든 사용 하지 않는 것이 좋습니다 .이것은 앞서 *nix 번을 반복한 것입니다. 대신 데몬, 프로세스 또는 작업을 시작하거나 중지하기 위한 인수를 /etc/init.d/name허용하는 시작 스크립트를 만듭니다.startstop

#! /bin/sh
# /etc/init.d/name
#

case "$1" in
  start)
    echo "Starting name"
    your_service --with --parameters
    ;;
  stop)
    echo "Stopping name"
    kill your_service
    ;;
  *)
    echo "Usage: /etc/init.d/name {start|stop}"
    exit 1
    ;;
esac

exit 0

/etc/init.d/skeleton이 목적을 위한 프레임워크 스크립트도 있습니다 .

스크립트를 만든 후 권한을 설정합니다.

chmod 755 /etc/init.d/name

이제 시작 시퀀스에 추가하세요.

update-rc.d name defaults

그러면 디렉토리에 필요한 링크가 생성됩니다 /etc/rc*.d/.

관련 정보