以编程方式在linux中启动GPSD守护进程
问题描述:
我正在做一个项目,读取GPS加密狗输出的GPS值,需要以编程方式 启动gpsd守护进程。以编程方式在linux中启动GPSD守护进程
即我需要自动执行以下命令; 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
开始命令只是将gpsd作为systemd守护进程运行,而无需重新启动系统。
避免在程序中使用'sudo'。也许你可以配置你的'udev'来在加密狗插入或激活时守护守护进程。 – 2013-03-21 06:20:40
实际上,这是我需要知道的......如何配置以在加密狗插入时启动守护进程 – Taani 2013-03-21 06:31:49
仔细研究'udev'的文档... – 2013-03-21 06:32:36