我正在做一个项目,读取GPS加密狗输出的GPS值,并且需要
以编程方式启动gpsd守护程序。

即我需要自动执行以下命令;
须藤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守护程序运行,而无需重新启动系统。

关于linux - 在Linux中以编程方式启动GPSD守护程序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15540385/

10-15 18:01