腳本在/etc/init.d
不會自動在啓動時調用;你必須首先告訴你的init系統。如果您的發行版有/etc/init.d
這可能通過update-rc.d
完成。具體如下:
update-rc.d S77Hello.sh defaults
查看相關手冊頁。如果你更喜歡GUI,rcconf
提供了更友好的用戶界面,但你可能需要先安裝它。
然而,在你這樣做之前,修復你的init腳本;它缺乏重要的信息。如果您尚未閱讀,您可能需要閱讀this。
最起碼,它需要是這個樣子:
#/bin/sh
### BEGIN INIT INFO
# Provides: mywatchdog
# Required-Start: $local_fs
# Required-Stop: $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start watchdog at boot time
# Description: Something something something
### END INIT INFO
case "$1" in
start)
/usr/local/bin/mywatchdog
echo $! >/var/run/mywatchdog.pid
echo "watchdog started."
;;
stop)
if kill "$(cat /var/run/mywatchdog.pid)"; then
rm /var/run/mywatchdog.pid
echo "watchdog stopped."
else
exit 1
fi
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
;;
esac
這是假設一個Debian-like系統在一定程度上,但由於您使用的是發行與ARM的sysvinit一個,我猜猜你在Raspberry Pi上使用Raspian。如果不是,請檢查現有init腳本在發行版中的工作方式。
您可以發佈'S77Hello.sh'文件的內容嗎? – 2013-02-22 18:46:49
其簡單的腳本命令'/ usr/local/bin/mywatchdog'就是它。 – Yuvi 2013-02-22 18:51:19
你的腳本在前臺運行你的程序。 '/ usr/local/bin/mywatchdog'程序是否足夠聰明,可以在啓動後進入後臺? – 2013-02-22 19:03:29