我正在使用adafruit的GPS帽子。
根据文件
启动gpsd并指示它使用HW UART。只需输入以下内容 命令:
sudo gpsd / dev / ttyAMA0 -F /var/run/gpsd.sock
虽然这确实有效,但我试图找到一种方法在重启时自动调用它。我已经尝试将它放在一个.py文件中并在机器重新启动cronjob时调用它,但这不起作用。 (无效的语法)。希望我能得到帮助来实现这一目标。
谢谢
答案 0 :(得分:2)
最快最简单的方法是将上述命令放在/etc/rc.local
文件中(不含sudo
!)。这是在启动时调用的shell脚本。
更合适的方法是在/etc/init.d
目录中创建服务文件。要开始在该目录中查看任何简单文件,请复制并修改它,并确保其可执行。基本(未经测试)示例:
#!/bin/sh -e
### BEGIN INIT INFO
# Provides: gpsd
# Required-Start:
# Required-Stop:
# Default-Start: 1 2 3 4 5
# Default-Stop:
# Short-Description: Run my GPSd
### END INIT INFO
#
case "$1" in
start)
gpsd /dev/ttyAMA0 -F /var/run/gpsd.sock
;;
stop)
killall -KILL gpsd
;;
restart|force-reload)
killall -KILL gpsd
sleep 3
gpsd /dev/ttyAMA0 -F /var/run/gpsd.sock
;;
*) echo "Usage: $0 {start|stop|restart|force-reload}" >&2; exit 1 ;;
esac
确保启用后,系统会自动调用service gpsd start
。这是通过基于Debian的发行版上的update-rc.d
命令和RHEL上的systemctl
来完成的。
如果您告诉我们您的Linux发行版,我们可以更加具体。