Bash 运行 启动时的 gpxlogger
Bash run gpxlogger on startup
我正在尝试在启动 RaspPi 后获取 gpxlogger 运行,问题是如果在启动时没有来自 GPSD 的信号(这会在 1 左右获取信号,gpxlogger 会在 5 秒后自动关闭)启动后 5-2 分钟,有时更长时间,所以睡眠可能无法解决问题),如果发生这种情况,它 returns 带有 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 return,而是每 10 秒启动一个新的 gpxlogger。
tl;dr 所需操作:
启动 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 &
(括号好像是多余的,所以去掉了。)
我正在尝试在启动 RaspPi 后获取 gpxlogger 运行,问题是如果在启动时没有来自 GPSD 的信号(这会在 1 左右获取信号,gpxlogger 会在 5 秒后自动关闭)启动后 5-2 分钟,有时更长时间,所以睡眠可能无法解决问题),如果发生这种情况,它 returns 带有 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 return,而是每 10 秒启动一个新的 gpxlogger。
tl;dr 所需操作:
启动 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 &
(括号好像是多余的,所以去掉了。)