내 데비안에는 /etc/rc.local
2개의 스크립트를 넣었습니다(하나는 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
허용하는 시작 스크립트를 만듭니다.start
stop
#! /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/
.