Système de gestion de service système
Ajout d'un Helper permettant de gérer les services systèmes (GNU/Linux) :
- Création/Suppression
- État avec gestion pid
- Arrêt/Démarrage
Un gros manque à Jeedom !! Je suppose que l'issue ne fait référence qu'aux processus gérés par nextdom ? les démons des plugins et autres services internes. Où est-ce qu'on parle aussi de processus systèmes comme apache ?
Pour la gestion des processus nextdom j'ai pensé à supervisord. C'est un bon concurrent de systemd, il est écrit en python, dispose d'une très bonne api rpc pour piloter les processus qu'il gère. http://supervisord.org/api.html Par contre, l'ajout/suppression de processus à chaud n'est possible qu'en manipulant ses fichiers de configuration. L'idée serait peut être d'avoir des sous dossiers pour chaque type de processus, par exemple :
- nextdom (les pools de threads, le process php du core)
- plugins/[nom du plugin]/
Ainsi le fichier de configuration principal de supervisor incluerait ces dossiers et Nextdom aurait les droits d'écriture dedans. Par contre, je vois des points de vigilance :
- comment les plugins expose les services qu'ils veulent démarrer ?
- via une syntaxe nextdom qui est reconvertie en configuration supervisor ?
- via la mise à disposition des fichiers necessaire dans le dossier du plugins, ceux-ci seraient simplement copiés par nextdom ?
- comment restreindre les droits des processus ? si un plugins veut lancer un processus en root, pour moi on devrait pouvoir l'empecher. (eventuellement une option permettrait d'ignorer ces messages pour les plus confiants)
- penser à bien éteindre les process d'un plugins avant de le supprimer car la suppression de la configuration ne suffit pas à eteindre un processus lancé par supervisor ?
- késako de la gestion des priorités entre d'eventuels processus d'un même plugin, ou entre des processus nextdom et ceux d'un plugin ?
@Turgon37 @slobberbone avez vous debattu ?