Arrêter proprement Jeedom sans éteindre l'OS

Bonjour.

Quelqu’un s’est-il déjà essayé à éteindre Jeedom en lignes de commande?
J’ai Ma box sur un RPI 4 qui héberge d’autres appli développées parfois en dehors de besoins domotiques. J’aimerais donc parfois couper jeedom pendant un certain temps et le relancer en fin de traitement.
Chatgpt me dit:

  1. arrêter le moteur de tâches
  2. Stopper apache et mysql (ssh)
  3. arrêter les démons des plugins
    Comme on le voit, seule l’étape 2 peut facilement être intégrée dans un script bash. Comment gérer 1 et 3?

Pour le 3, on peut facilement arrêter les démon avec le plugin virtuel Jeedom Monitor.

Salut,

Alors de base c’est pas une bonne idée mais bon …

Pour le 3 j’allais faire la même réponse que @Stefjm sauf qu’il faut le faire en 1 parce que sans apache et MySQL tu va avoir du mal a utiliser ces virtuels

1 « J'aime »

Dans la doc, on trouve la classe jeedom avec les méthodes :
https://doc.jeedom.com/dev/phpdoc/4.2/classes/jeedom.html

stop()
start()
isStarted()
haltSystem()
rebootSystem()

Pas documenté mieux que cela et je n’ai pas testé…

merci à vous deux!
C’est vrai que l’inversion 1 et 3 me semble aussi indispensable et un wget ou un curl me permettrait effectivement d’aller chercher le virtuel via un script.
Je pense quand même que Jeedom se termine proprement dans un script lancé par réglages->système->éteindre. Peut-être dans les méthodes soulevées par @Stefjm?
Je vais y jeter un oeil, merci!

1 « J'aime »

Ca éteint la machine.
Jeedom n’est pas conçu pour etre sur une machine mutualisée avec autre chose d’où ma réponse initiale

Eh bien grâce à la piste lancée par @Stefjm , je suis arrivé à stopper jeedom. Merci encore.
L’analyse de l’arrêt système m’a permis de voir la séquence de fermeture juste avant le shutdown de la machine.
Résultat, pour ceux qui auraient ce besoin (très spécifique, je l’admets volontiers), j’ai ces fichiers bash:

Jeedom_off.sh:

#!/bin/sh
cd /var/www/html/core
php -r « require ‹ php/core.inc.php ›; plugin::stop(); »
php -r « require ‹ php/core.inc.php ›; jeedom::stop(); »

Jeedom_on.sh:

#!/bin/sh
cd /var/www/html/core
php -r « require ‹ php/core.inc.php ›; jeedom::start(); »
php -r « require ‹ php/core.inc.php ›; plugin::start(); »

Si je ne reviens pas dans cette discussion, c’est que c’est OK dans la durée.

PS: A utiliser en connaissance de cause…

EDIT: comme lefait remarquer @Iperenna un peu plus bas, la 2e instruction dans Jeedom_on concernant le démarrage des plugins est superflue.

1 « J'aime »

Quand tu arrêtes jeedom avec le stop, il n’arrête pas les plugins et tout le tralala propre ?

Idem quand on le démarre, il démarre les plugins non ?

Oui, il arrête les démons des plugins, mais par exemple, jeezigbee me permettait encore de piloter mes modules d’où l’instruction plugin stop. Par contre, tu as raison, la seule instruction jeedom::start()remet tout en route, plugins compris. J’éditerai pm, je dois partir.