【问题标题】:Programmatically start GPSD daemon in linux以编程方式在 linux 中启动 GPSD 守护进程
【发布时间】:2013-03-10 12:59:31
【问题描述】:

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

即我需要自动化以下命令; sudo gpsd /dev/ttyUSB0 -F /var/run/gpsd.sock

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

【问题讨论】:

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

标签: linux debian daemon startup gpsd


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    对于 debian 来说只是

    dpkg-reconfigure gps
    

    【讨论】:

      猜你喜欢
      • 2015-08-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-24
      • 1970-01-01
      • 1970-01-01
      • 2011-03-06
      • 1970-01-01
      相关资源
      最近更新 更多