Как работают системные службы в привязках

5

При создании привязки и в соответствии с синтаксисом файла snapcraft.yaml , можно добавить ключевое слово daemon , чтобы указать, что приложение будет запущено как системная служба. В качестве примера такой декларации:

apps:
  tinyproxy:
    command: ./launcher.sh
    daemon: simple
    plugs: [network,network-bind]

Однако, что это значит для системной службы? То есть, каков их жизненный цикл (запуск, перезапуск, остановка ...)? Могу ли я контролировать их работу в системе с помощью обычных инструментов ( ps , top и т. Д.)?

    
задан David Planella 08.06.2016 в 16:48
источник

1 ответ

6

От Ссылка

Тестирование службы

Чтобы протестировать сервис, он должен быть установлен первым. После его установки команда system_ systemctl может использоваться, чтобы увидеть, запущена ли служба и работает ли она, как ожидалось, например:

systemctl status snap.<name>.<appname>

Поиск журналов

Команда journalctl может использоваться для проверки сообщений, отправленных службой stdout / stderr , например:

journalctl -u snap.<name>.<appname>

Службы могут записывать дополнительные данные в syslog ( /var/log/syslog ) или в настраиваемые каталоги журналов. Обратите внимание, что каталоги пользовательских журналов должны быть в пути, на который служба может писать (обычно SNAP_DATA ).

Получение дампа ядра

Чтобы включить дампы ядра, вам нужно настроить место для записи их через sysfs. Например, вы можете использовать

$ echo "/tmp/core.%e.%p" > /proc/sys/kernel/core_pattern

, чтобы гарантировать, что ваши coredumps будут записаны в каталог /tmp независимо от того, где CWD процесса, получившего сигнал.

    
ответ дан dholbach 10.06.2016 в 14:52
источник