Каков стандартный способ предоставления параметров конфигурации для демона?

Я сейчас пишу простой демон на базе C, в основном для изучения. На данный момент у меня есть рабочий демон, и я хотел бы предоставить пользователям некоторые параметры конфигурации.

Каким стандартным образом большинство демонов предоставляют параметры конфигурации и есть ли какие-нибудь хорошие библиотеки C, которые помогают с этим?

4
задан 14 May 2012 в 22:34

14 ответов

Это действительно зависит от того, насколько сложно вы хотите получить.

Два основных параметра.

Принять параметры командной строки. Для стандартного демона они будут помещены в скрипт init.d для конфигурации системы. Ваш собственный файл conf внутри / etc / yourDaemon. В этом случае обычно существует параметр командной строки для указания местоположения файла конфигурации и по умолчанию будет помещен в /etc/yourDaemon/blah.conf

Я рекомендую libconfuse. http://www.nongnu.org/confuse/

3
ответ дан 25 May 2018 в 19:28

Это действительно зависит от того, насколько сложно вы хотите получить.

Две основные опции.

  1. Принять параметры командной строки. Для стандартного демона они будут помещены в скрипт init.d для конфигурации системы.
  2. Ваш собственный файл conf внутри / etc / yourDaemon. В этом случае обычно имеется параметр командной строки для указания местоположения файла конфигурации и по умолчанию будет помещен в /etc/yourDaemon/blah.conf

I рекомендуем libconfuse. http://www.nongnu.org/confuse/

3
ответ дан 25 July 2018 в 21:30

Это действительно зависит от того, насколько сложно вы хотите получить.

Две основные опции.

  1. Принять параметры командной строки. Для стандартного демона они будут помещены в скрипт init.d для конфигурации системы.
  2. Ваш собственный файл conf внутри / etc / yourDaemon. В этом случае обычно имеется параметр командной строки для указания местоположения файла конфигурации и по умолчанию будет помещен в /etc/yourDaemon/blah.conf

I рекомендуем libconfuse. http://www.nongnu.org/confuse/

3
ответ дан 2 August 2018 в 03:08

Это действительно зависит от того, насколько сложно вы хотите получить.

Две основные опции.

  1. Принять параметры командной строки. Для стандартного демона они будут помещены в скрипт init.d для конфигурации системы.
  2. Ваш собственный файл conf внутри / etc / yourDaemon. В этом случае обычно имеется параметр командной строки для указания местоположения файла конфигурации и по умолчанию будет помещен в /etc/yourDaemon/blah.conf

I рекомендуем libconfuse. http://www.nongnu.org/confuse/

3
ответ дан 4 August 2018 в 19:00

Это действительно зависит от того, насколько сложно вы хотите получить.

Две основные опции.

  1. Принять параметры командной строки. Для стандартного демона они будут помещены в скрипт init.d для конфигурации системы.
  2. Ваш собственный файл conf внутри / etc / yourDaemon. В этом случае обычно имеется параметр командной строки для указания местоположения файла конфигурации и по умолчанию будет помещен в /etc/yourDaemon/blah.conf

I рекомендуем libconfuse. http://www.nongnu.org/confuse/

3
ответ дан 6 August 2018 в 03:20

Это действительно зависит от того, насколько сложно вы хотите получить.

Две основные опции.

  1. Принять параметры командной строки. Для стандартного демона они будут помещены в скрипт init.d для конфигурации системы.
  2. Ваш собственный файл conf внутри / etc / yourDaemon. В этом случае обычно имеется параметр командной строки для указания местоположения файла конфигурации и по умолчанию будет помещен в /etc/yourDaemon/blah.conf

I рекомендуем libconfuse. http://www.nongnu.org/confuse/

3
ответ дан 10 August 2018 в 09:24

Это действительно зависит от того, насколько сложно вы хотите получить.

Две основные опции.

  1. Принять параметры командной строки. Для стандартного демона они будут помещены в скрипт init.d для конфигурации системы.
  2. Ваш собственный файл conf внутри / etc / yourDaemon. В этом случае обычно имеется параметр командной строки для указания местоположения файла конфигурации и по умолчанию будет помещен в /etc/yourDaemon/blah.conf

I рекомендуем libconfuse. http://www.nongnu.org/confuse/

3
ответ дан 13 August 2018 в 12:48

GSettings

GSettings находится так же близко, как и стандартный способ хранения конфигурации. Он использует dconf в качестве бэкэнд.

Преимущества использования GSettings и dconf включают:

Пользователи могут использовать предустановленный инструмент dconf-editor для изменения конфигурации. Многие приложения также предоставляют программу предпочтений для обеспечения более высокого уровня интерфейса. Согласованность - ваши настройки хранятся в том же месте, что и для большинства рабочих мест GNOME. Это упрощает административные задания, такие как резервное копирование, потому что пользователю не нужно запоминать местоположение вашего файла конфигурации. Speed ​​- dconf оптимизирован для скорости, особенно в операциях чтения, которые являются наиболее распространенными.
0
ответ дан 25 May 2018 в 19:28
  • 1
    Это хороший API для настроек приложений . Настройки выполняются на уровне каждого пользователя. Очевидно, не подходит для демона. Описание gnome для GSettings - «API высокого уровня для параметров приложения » – user606723 5 August 2011 в 22:24
  • 2
    Различие между приложениями и демонами является искусственным. Оба являются типами программ - демоны запускаются только в фоновом режиме. Так что не очевидно, что GSettings не подходит для демона. Да, настройки для каждого пользователя, но почему это неправильно для демона? Демоны часто на пользователя, например. gnome-settings-daemon, zeitgeist-daemon, ubuntuone-syncdaemon ... Я не могу найти причину, по которой вам не следует использовать настройку параметров приложения для настроек демона. – dv3500ea 6 August 2011 в 15:07
  • 3
    Потому что классический демон - не для пользователя. И потому, что ни вы, ни аскер не сделали такого различия. – user606723 6 August 2011 в 20:02
  • 4
    Ну, я не знаю, что вы подразумеваете под классическим демоном. Демон, насколько я понимаю, это любой фоновый процесс, и есть некоторые стандартные шаги для его установки. Демон может быть либо системным, либо , либо пользователем. GSettings обычно используется для каждого пользователя, но AFAIK его можно использовать как системную, как gconf. – dv3500ea 6 August 2011 в 21:22
  • 5
    Существуют также классы пользовательских приложений, которые могут быть квалифицированы. NetworkManager приходит на ум - хотя он имеет пользовательский интерфейс. – Stephen Eilert 1 February 2012 в 01:04

GSettings

GSettings так же близко, как и стандартный способ хранения конфигурации. Он использует dconf в качестве бэкэнд.

Преимущества использования GSettings и dconf включают в себя:

  • Пользователи могут использовать готовый инструмент dconf-editor для измените конфигурацию. Многие приложения также предоставляют программу настроек, обеспечивающую интерфейс более высокого уровня.
  • Консистенция - ваши настройки хранятся в том же месте, что и для большинства рабочих мест GNOME. Это упрощает выполнение административных заданий, таких как резервное копирование, потому что пользователю не нужно запоминать местоположение вашего файла конфигурации.
  • Speed ​​- dconf оптимизирован для скорости, особенно в операциях чтения, которые являются наиболее распространенными.
0
ответ дан 25 July 2018 в 21:30

GSettings

GSettings так же близко, как и стандартный способ хранения конфигурации. Он использует dconf в качестве бэкэнд.

Преимущества использования GSettings и dconf включают в себя:

  • Пользователи могут использовать готовый инструмент dconf-editor для измените конфигурацию. Многие приложения также предоставляют программу настроек, обеспечивающую интерфейс более высокого уровня.
  • Консистенция - ваши настройки хранятся в том же месте, что и для большинства рабочих мест GNOME. Это упрощает выполнение административных заданий, таких как резервное копирование, потому что пользователю не нужно запоминать местоположение вашего файла конфигурации.
  • Speed ​​- dconf оптимизирован для скорости, особенно в операциях чтения, которые являются наиболее распространенными.
0
ответ дан 2 August 2018 в 03:08

GSettings

GSettings так же близко, как и стандартный способ хранения конфигурации. Он использует dconf в качестве бэкэнд.

Преимущества использования GSettings и dconf включают в себя:

  • Пользователи могут использовать готовый инструмент dconf-editor для измените конфигурацию. Многие приложения также предоставляют программу настроек, обеспечивающую интерфейс более высокого уровня.
  • Консистенция - ваши настройки хранятся в том же месте, что и для большинства рабочих мест GNOME. Это упрощает выполнение административных заданий, таких как резервное копирование, потому что пользователю не нужно запоминать местоположение вашего файла конфигурации.
  • Speed ​​- dconf оптимизирован для скорости, особенно в операциях чтения, которые являются наиболее распространенными.
0
ответ дан 4 August 2018 в 19:00

GSettings

GSettings так же близко, как и стандартный способ хранения конфигурации. Он использует dconf в качестве бэкэнд.

Преимущества использования GSettings и dconf включают в себя:

  • Пользователи могут использовать готовый инструмент dconf-editor для измените конфигурацию. Многие приложения также предоставляют программу настроек, обеспечивающую интерфейс более высокого уровня.
  • Консистенция - ваши настройки хранятся в том же месте, что и для большинства рабочих мест GNOME. Это упрощает выполнение административных заданий, таких как резервное копирование, потому что пользователю не нужно запоминать местоположение вашего файла конфигурации.
  • Speed ​​- dconf оптимизирован для скорости, особенно в операциях чтения, которые являются наиболее распространенными.
0
ответ дан 6 August 2018 в 03:20

GSettings

GSettings так же близко, как и стандартный способ хранения конфигурации. Он использует dconf в качестве бэкэнд.

Преимущества использования GSettings и dconf включают в себя:

  • Пользователи могут использовать готовый инструмент dconf-editor для измените конфигурацию. Многие приложения также предоставляют программу настроек, обеспечивающую интерфейс более высокого уровня.
  • Консистенция - ваши настройки хранятся в том же месте, что и для большинства рабочих мест GNOME. Это упрощает выполнение административных заданий, таких как резервное копирование, потому что пользователю не нужно запоминать местоположение вашего файла конфигурации.
  • Speed ​​- dconf оптимизирован для скорости, особенно в операциях чтения, которые являются наиболее распространенными.
0
ответ дан 10 August 2018 в 09:24

GSettings

GSettings так же близко, как и стандартный способ хранения конфигурации. Он использует dconf в качестве бэкэнд.

Преимущества использования GSettings и dconf включают в себя:

  • Пользователи могут использовать готовый инструмент dconf-editor для измените конфигурацию. Многие приложения также предоставляют программу настроек, обеспечивающую интерфейс более высокого уровня.
  • Консистенция - ваши настройки хранятся в том же месте, что и для большинства рабочих мест GNOME. Это упрощает выполнение административных заданий, таких как резервное копирование, потому что пользователю не нужно запоминать местоположение вашего файла конфигурации.
  • Speed ​​- dconf оптимизирован для скорости, особенно в операциях чтения, которые являются наиболее распространенными.
0
ответ дан 13 August 2018 в 12:48
  • 1
    Это хороший API для настроек приложений . Настройки выполняются на уровне каждого пользователя. Очевидно, не подходит для демона. собственное описание gnome для GSettings - «API высокого уровня API для приложений »). – user606723 5 August 2011 в 22:24
  • 2
    Различие между приложениями и демонами является искусственным. Оба являются типами программ - демоны запускаются только в фоновом режиме. Так что not очевидно, что GSettings не подходит для демона. Да, настройки для каждого пользователя, но почему это неправильно для демона? Демоны часто на пользователя, например. gnome-settings-daemon, zeitgeist-daemon, ubuntuone-syncdaemon ... Я не могу найти причину, по которой вам не следует использовать инфраструктуру настроек приложения для настроек демона. – dv3500ea 6 August 2011 в 15:07
  • 3
    Потому что классический демон - не для пользователя. И потому, что ни вы, ни аскер не сделали такого различия. – user606723 6 August 2011 в 20:02
  • 4
    Ну, я не знаю, что вы подразумеваете под классическим демоном. Демон, насколько я понимаю, это любой фоновый процесс, и есть некоторые стандартные шаги для его установки. Демон может быть как системным, так и или пользователем. GSettings обычно используется для каждого пользователя, но AFAIK его можно использовать как системную, как gconf. – dv3500ea 6 August 2011 в 21:22
  • 5
    – Stephen Eilert 1 February 2012 в 01:04

Другие вопросы по тегам:

Похожие вопросы: