Программно запустить демона GPSD в Linux

Я выполняю проект чтения значений GPS, выводимых с ключа GPS, и мне нужно программно запустить демон gpsd.

т. е. мне нужно автоматизировать следующую команду; sudo gpsd /dev/ttyUSB0 -F /var/run/gpsd.sock

Я смог прочитать координаты через код после ручного запуска демона, как указано выше. Но не знаю, как запустить демон через код.


person Taani    schedule 21.03.2013    source источник
comment
Избегайте использования sudo внутри программы. Возможно, вы могли бы настроить udev для запуска демона при подключении или активации ключа.   -  person Basile Starynkevitch    schedule 21.03.2013
comment
на самом деле, это то, что мне нужно знать... как настроить запуск демона при подключенном ключе   -  person Taani    schedule 21.03.2013
comment
Внимательно изучите документацию udev ....   -  person Basile Starynkevitch    schedule 21.03.2013
comment
а потом расскажешь остальным ;)   -  person rob    schedule 18.04.2013


Ответы (2)


Так как 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 без перезагрузки системы.

person Carlo Lobrano    schedule 17.06.2015

для дебиана это просто

dpkg-reconfigure gps
person rob    schedule 18.04.2013