insserv: 경고: 'XXX.sh' 스크립트에 LSB 태그가 누락되어 재정의되었습니다.

insserv: 경고: 'XXX.sh' 스크립트에 LSB 태그가 누락되어 재정의되었습니다.

insserv: warning: script 'XXX.sh'에 LSB 태그 및 재정의가 누락되는 원인과 이를 방지하는 방법은 무엇입니까?

pi@raspberrypi /etc/init.d $ sudo rm 5_*
pi@raspberrypi /etc/init.d $ sudo vi /etc/init.d/5_second_cron
pi@raspberrypi /etc/init.d $ sudo chmod +x /etc/init.d/5_second_cron
pi@raspberrypi /etc/init.d $ sudo update-rc.d /etc/init.d/5_second_cron defaults^C
pi@raspberrypi /etc/init.d $

5_second_cron.sh는 다음과 같습니다.

#!/bin/bash
while true
do
 /usr/bin/php /var/www/cron.php
 sleep 5
done

편집하다. 다음을 시도했습니다. 스크립트를 실행하면 스크립트가 "멈춥니다" $ sudo update-rc.d /etc/init.d/5_second_cron.

pi@raspberrypi /etc/init.d $ sudo vi /etc/init.d/5_second_cron
pi@raspberrypi /etc/init.d $ sudo chmod +x /etc/init.d/5_second_cron
pi@raspberrypi /etc/init.d $ sudo update-rc.d /etc/init.d/5_second_cron defaults^.C
pi@raspberrypi /etc/init.d $

5_second_cron은 다음과 같습니다.

#!/bin/bash
# /etc/init.d/5_second_cron

### BEGIN INIT INFO
# Provides:          5_second_cron
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: PHP Loop
# Description:       Initiate a given PHP file every 5 seconds
### END INIT INFO

while true
do
 /usr/bin/php /var/www/cron.php
 sleep 5
done
exit 0

2를 편집합니다. 좀 더 혼란스럽게 한 후에는 다음과 같습니다.

pi@raspberrypi /etc/init.d $ sudo update-rc.d /etc/init.d/5_second_cron defaults
update-rc.d: using dependency based boot sequencing
update-rc.d: error: unable to read /etc/init.d//etc/init.d/5_second_cron

답변1

답변이 너무 늦어서 죄송합니다.

초기화 스크립트는 지속적으로 실행되지 않습니다. 내 말은 init 스크립트가 프로그램을 시작한 다음 종료하고 프로그램이 백그라운드에서 실행되도록 해야 한다는 것입니다. 이런 방식으로 init 시스템은 실행 수준에 도달했음을 알 수 있습니다.

따라서 스크립트를 별도의 폴더에 넣는 것이 좋습니다. /usr/bin예를 들어 다음과 같습니다.

#!/bin/sh

while true
do
 /usr/bin/php /var/www/cron.php
 sleep 5
done

초기화 스크립트에서 다음을 입력합니다.

#!/bin/sh
### BEGIN INIT INFO
# Provides:          5_second_cron
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: PHP Loop
# Description:       Initiate a given PHP file every 5 seconds
### END INIT INFO

case "$1" in
start)
    setsid /path/to/your/script.sh >/dev/null 2>&1 < /dev/null &
    ;;
*)
    ;;
esac

이렇게 하면 스크립트가 매개변수를 허용하고 start(호출되는 방식) 실제 스크립트를 프로세스에서 백그라운드 데몬으로 분리합니다.

편집한 후 다음을 실행하세요.

$ sudo insserv 5_second_cron

관련 정보