/etc/init.d
启动时不会自动调用其中的脚本;您必须先告诉您的 init 系统这样做。如果您的发行版有/etc/init.d
可能通过update-rc.d
. 具体来说:
update-rc.d S77Hello.sh defaults
查看相关的手册页。如果您更喜欢 GUI,请rcconf
提供更加用户友好的界面,尽管您可能需要先安装它。
但是,在您这样做之前,请修复您的初始化脚本;它缺乏重要的信息。如果你还没有读过这篇文章,你可能会想读。
至少,它需要看起来像这样:
#/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 的系统,但是由于您在 ARM 上使用带有 sysvinit 的发行版,我猜您在 Raspberry Pi 上使用 Raspian。如果没有,请查看现有 init 脚本在您的发行版中的工作方式。