我试图让一个gpxlogger在启动RaspPi后运行,问题是如果启动时没有来自GPSD的信号,gpxlogger会在5秒后自动关闭(这会在启动后1,5-2分钟左右得到信号,有时更多的时候睡眠可能无法解决),如果发生这种情况,它会返回0。
到目前为止我有:
(while true; do
until gpxlogger -d -f /home/pi/gpslogs/log'%Y-%m-%d-%H:%M:%S'.txt -i 2; do
echo "restarting"
sleep 10
done
done
) &
在/etc/init.d/rc.local中
问题是,脚本不会等待gpxlogger返回,而是每隔10秒启动一个新的gpxlogger。
目标操作:
启动Raspberry->循环gpxloggers在没有来自GPSD的数据5秒后死亡->在GPSD中获取修复->单个gpxlogger继续登录到文件
有人能帮我一下吗?
如有任何意见,将不胜感激。
最佳答案
如果已经在运行,不要重新启动。
while true; do
if ! pidof gpxlogger >/dev/null; then
echo "restarting"
gpxlogger -d -f /home/pi/gpslogs/log'%Y-%m-%d-%H:%M:%S'.txt -i 2
fi
sleep 10
done &
(括号似乎是多余的,所以我删除了它们。)