Lors de la création d'une capture, et conformément à la syntaxe du fichier snapcraft.yaml , le mot clé daemon
peut être ajouté pour indiquer que l'application sera exécutée en tant que service système. À titre d'exemple d'une telle déclaration:
apps:
tinyproxy:
command: ./launcher.sh
daemon: simple
plugs: [network,network-bind]
Cependant, que signifie exactement être un service système en un instant? C’est-à-dire quel est leur cycle de vie (démarrage, redémarrage, arrêt, etc.)? Puis-je surveiller leur exécution dans le système avec les outils habituels (ps
, top
, etc.)?
De https://developer.ubuntu.com/en/snappy/build-apps/debug/
Pour tester un service, il faut d'abord l'installer. Une fois installé, la commande systemctl
de systemd peut être utilisée pour voir si le service démarre et s’exécute comme prévu, par exemple:
systemctl status snap.<name>.<appname>
La commande journalctl
peut être utilisée pour inspecter les messages que le service envoie à stdout
name __/stderr
name__, par exemple:
journalctl -u snap.<name>.<appname>
Les services peuvent enregistrer des données supplémentaires dans syslog (/var/log/syslog
) ou dans des répertoires de journal personnalisés. Notez que les répertoires de journal personnalisés doivent figurer dans un chemin d'accès vers lequel le service peut écrire (généralement SNAP_DATA
).
Pour activer les core dumps, vous devez configurer un emplacement où les écrire via sysfs. Par exemple, vous pouvez utiliser
$ echo "/tmp/core.%e.%p" > /proc/sys/kernel/core_pattern
pour vous assurer que vos coredumps sont écrites dans le répertoire /tmp
quel que soit l'emplacement de CWD
du processus ayant reçu le signal.