Article
· Juil 31 2m de lecture

Arrêt gracieux d'IRIS sans accès au terminal : saveur *nix

Je me suis retrouvé dans la situation peu confortable de travailler avec un système Linux sur lequel quelqu'un avait accidentellement désactivé l'accès utilisateur au shell Linux. HealthConnect était en cours d'exécution, assurant la maintenance de centaines d'interfaces. Pour résoudre le problème d'accès, cependant, nous devions arrêter l'hôte pour l'application d'un correctif.

Sans le shell, la commande iris n'est pas disponible pour contrôler l'instance, nous étions donc confrontés au risque d'arrêter le serveur de manière inélégante. Nous voulions éviter cela si possible...

La routine ^SHUTDOWN était historiquement une option pour arrêter Caché, mais vous avez besoin d'une session de terminal pour l'exécuter (nous parlerons plus en détail de ce qui constitue une session de terminal dans une minute). Mais ^SHUTDOWN est désormais obsolète, et lorsque vous l'exécutez, vous obtenez le message "Veuillez utiliser la procédure 'iris stop' pour arrêter le système".

Alors rayez-la de la liste... et remplacez-la par INTNOSHUT^SHUTDOWN. Oui, l'exécution de cette commande arrêtera IRIS de manière élégante. Et oui, vous avez besoin d'un shell de commande IRIS pour l'exécuter. Alors, où pouvez-vous obtenir un shell de commande IRIS pour le système dont vous êtes exclu, demandez-vous ?

Dans le studio IRIS, qui n'existera plus très longtemps, bien sûr ! La fenêtre de sortie vous permet d'exécuter des commandes IRIS, et cela ne surprendra pas grand monde. Elle vous permettra certainement d'exécuter D INTNOSHUT^SHUTDOWN dans la fenêtre d'output (après avoir basculé vers l'espace de noms %SYS). Cependant, si vous faites exactement cela, IRIS commencera très probablement à s'arrêter puis à se bloquer, car Studio garde une session ouverte. Il se peut qu'il ne s'arrête jamais complètement, et vous n'auriez aucun moyen de le forcer à s'arrêter autrement qu'en arrêtant le système d'exploitation.

Cela dit, vous pouvez obtenir un arrêt complet en utilisant la commande JOB INTNOSHUT^SHUTDOWN, puis en quittant immédiatement Studio. IRIS s'arrêtera (plus probablement qu'improbable) en douceur et vous pourrez vous sentir mieux en faisant les choses de la "bonne" manière... même si cela semble faux.

En ce qui concerne la récupération de l'accès utilisateur au shell Linux, c'est un sujet pour un autre forum. Mais maintenant qu'IRIS est arrêté en toute sécurité, le problème d'accès peut être résolu (un certain démontage est probablement nécessaire).

Discussion (0)1
Connectez-vous ou inscrivez-vous pour continuer