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

おすすめ記事