При создании моментального снимка и в соответствии с синтаксисом файла snapcraft.yaml можно добавить ключевое слово daemon
, чтобы указать, что приложение будет запускаться как системная служба. В качестве примера такого объявления:
apps:
tinyproxy:
command: ./launcher.sh
daemon: simple
plugs: [network,network-bind]
Однако, что именно означает быть системным сервисом в оснастке? То есть каков их жизненный цикл (запуск, перезапуск, остановка ...)? Могу ли я контролировать их работу в системе с помощью обычных инструментов (ps
, top
и т. Д.)?
От https://developer.ubuntu.com/en/snappy/build-apps/debug/
Для тестирования сервиса, это должно быть установлено сначала. После того как это установлено, systemd's systemctl
команда может использоваться, чтобы видеть, запускается ли услуга и работает как ожидалось, например:
systemctl status snap.<name>.<appname>
journalctl
команда может использоваться для осмотра сообщений, что сервис отправляет к stdout
/stderr
, например:
journalctl -u snap.<name>.<appname>
Сервисы могут регистрировать дополнительные данные к системному журналу (/var/log/syslog
) или к пользовательским каталогам журнала. Обратите внимание, что пользовательские каталоги журнала должны быть в пути, в который может записать сервис (обычно SNAP_DATA
).
Для включения дампов ядра, необходимо настроить место, чтобы записать им в через sysfs. Например, можно использовать
$ echo "/tmp/core.%e.%p" > /proc/sys/kernel/core_pattern
гарантировать, что в Ваш coredumps вписывают /tmp
каталог, независимо от где CWD
из процесса, который получил сигнал, был.