我正在进行一个项目,需要从GPS dongle中读取GPS值,并需要编程启动gpsd守护进程。
也就是说,我需要自动化以下命令: sudo gpsd /dev/ttyUSB0 -F /var/run/gpsd.sock
在手动启动守护进程后,我能够通过代码读取坐标。但不知道如何通过代码启动守护进程。
由于gpsd是一个守护进程,因此您可以将守护进程设置为在启动时自动运行。如何做到这一点取决于您使用的启动系统。例如,如果您使用systemd,则需要编写一个 gpsd.service 文件,类似于以下内容:
[Unit]
Description=GPSd daemon service file
[Service]
Type=forking
User=root
Group=dialout
TimeoutStartSec=0
ExecStart=/usr/local/sbin/gpsd /dev/ttyUSB0 -F /var/run/gpsd.sock
[Install]
# Grouping mechanism that let systemd start groups of processes up at the same time
WantedBy=multi-user.target
/lib/systemd/system
中,最后使用以下命令。$ sudo systemctl enable gpsd
$ sudo systemctl start gpsd
start命令只是将gpsd作为systemd守护进程运行,而无需重新启动系统。
dpkg-reconfigure gps
sudo
。也许您可以配置您的udev
,当插入或激活 dongle 时启动守护进程。 - Basile Starynkevitchudev
的文档... - Basile Starynkevitch