web-dev-qa-db-fra.com

Comment les services du système fonctionnent en instantanés

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.)?

8
David Planella

De https://developer.ubuntu.com/en/snappy/build-apps/debug/

Tester un service

Pour tester un service, il faut d'abord l'installer. Une fois installé, la commande systemctlde 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>

Trouver les journaux

La commande journalctlpeut être utilisée pour inspecter les messages que le service envoie à stdoutname __/stderrname__, 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).

Obtenir un dépotoir

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 CWDdu processus ayant reçu le signal.

7
dholbach