好吧,所以我有一个无头的Raspberry Pi,我很久以前创建了一个守护进程,以使其在启动时发挥声音效果,所以我知道它已经准备好进行SSH连接了。
#!/bin/sh
### BEGIN INIT INFO
# Provides:
# Required-Start: $local_fs $remote_fs $syslog
# Required-Stop: $local_fs $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time
# Description: Enable service provided by daemon.
### END INIT INFO
case "$1" in
start)
omxplayer /home/pi/Music/boku\ satchii.mp3
;;
stop)
;;
restart)
$0 start
;;
status)
echo "Running"
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
exit 1
;;
esac
exit 0
工作正常。
现在,我遇到的问题是Pi大约每月失去一次网络连接的能力(我放弃了尝试找出原因),必须手动重新启动。为了解决这个问题,我每周都在crontab中重新启动一次,但是它总是在每个星期六的午夜用“ BOKU SATCHII!”将我叫醒,这对于第一次出现的中途来说就不再有趣了。
我放弃了一个快速的shell脚本,该脚本使用“ touch”创建文件“ / etc / quietboot”,然后重新启动。很好我在crontab中对它进行了重新引导,然后按如下所示修改了守护程序:
start)
if [-e /etc/quietboot]; then
sudo rm /etc/quietboot
else
omxplayer /home/pi/Music/boku\ satchii.mp3
fi
;;
因此,想法是如果文件存在,则应将其删除;如果文件不存在,则应播放声音效果。我一直在测试它,它每次都只播放声音效果,并且从不删除quietboot文件。我尝试将文件放在home / pi /中,但结果相同。
我确定我在这里犯了一些基本错误,但是我不确定这是什么。有人可以帮我吗?