在linux中以编程方式启动GPSD守护进程

在linux中以编程方式启动GPSD守护进程,linux,debian,daemon,startup,gpsd,Linux,Debian,Daemon,Startup,Gpsd,我正在做一个项目读取GPS加密狗输出的GPS值,需要 以编程方式启动gpsd守护程序 i、 e.我需要自动执行以下命令; sudo gpsd/dev/ttyUSB0-F/var/run/gpsd.sock 在如上所述手动启动守护进程之后,我能够通过代码读取坐标。但是不知道如何通过代码启动守护进程。对于debian来说,它只是 dpkg-reconfigure gps 由于gpsd是一个守护进程,您只需将守护进程设置为在启动时自动运行即可。如何做到这一点取决于您使用的启动系统。例如,如果您有sy

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

i、 e.我需要自动执行以下命令; sudo gpsd/dev/ttyUSB0-F/var/run/gpsd.sock

在如上所述手动启动守护进程之后,我能够通过代码读取坐标。但是不知道如何通过代码启动守护进程。

对于debian来说,它只是

dpkg-reconfigure gps

由于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守护进程运行,而不重新启动系统。

避免从程序内部使用
sudo
。也许您可以将
udev
配置为在插入或激活加密狗时启动守护程序。实际上,这就是我需要知道的…如何配置为在插入加密狗时启动守护程序仔细阅读
udev
…的文档,然后告诉我们其他人;)