我试图在启动RaspPi后运行gpxlogger,问题是如果启动时没有来自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。
tl; dr所需行动:
启动Raspberry - >循环gpxloggers在没有来自GPSD的数据5秒后死亡 - >获取GPSD修复 - >单个gpxlogger保持登录文件
有人可以帮我解决这个问题吗? 任何意见都将不胜感激。
答案 0 :(得分:1)
如果它已经在运行,请不要重启。
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 &
(括号似乎是多余的,所以我将它们删除了。)