Shutdown
Initialement, sur la frappe de Alt-F12 dans l'application Num, on lançait un exécutable Num : "SHUTDOWN.EXE" qui
tuait toutes les applications s'exécutant sur le système, puis lançait le shutdown OS/2. Ceci avait pour principal but
de ne pas demander de validations supplémentaires autre que la demande de shutdown à l'opérateur ; en outre, le
serveur et le pipe font également appel à ce fichier "SHUTDOWN.EXE".
Après évolution, sur la frappe de ces mêmes touches, on lance également un fichier "SHUTDOWN.EXE", mais celui-
ci tue les applications déclarées dans "REINIT.CFG", stoppe l'application graphique Num, signale aux autres
processeurs que le PCNC s'arrête et lance un fichier de commande "SHUT.CMD" dans lequel, par défaut on trouve
la ligne de commande "START/N C:\NUM\GRAPHIC\KILLAPPS.EXE 6", où KILLAPPS.EXE est l'exécutable qui va
se charger de faire le shutdown final et d'arrêter le système.
Il est indispensable de passer un paramètre dans le cas où on utilise "KILLAPPS.EXE" (6 dans le cas ci-dessus). Ce
paramètre correspond au Process Id de l'applicatif NUM. Celui-ci peut être obtenu en lançant l'utilitaire "NAMEAPP.EXE"
dans la directory "C:\NUM\GRAPHIC" ; il affiche le nom exact de chaque process et son Identificateur. Ceci est
notamment valable dans le cas où un réseau est chargé avant l'applicatif NUM sur un PCNC sous Warp ; dans ce cas,
ce n'est plus 6 qu'il faut mettre en paramètre dans SHUT.CMD, mais la valeur de Processld de GR_PC.EXE donnée
par NAMEAPP.EXE.
Ceci permet de garder la compatibilité pour le serveur et le pipe (c'est toujours le même nom de fichier qui est appelé) ;
de plus, ceci permet au client de modifier le fichier "SHUT.CMD" en y remplaçant la ligne présente par une ligne du
type "START/N chemin\nom_fichier_client" où nom_fichier_client est l'exécutable du client qui va arrêter
correctement ses applications (réseaux par exemple) et lancer soit KILLAPPS.EXE soit SHUTDOWN.EXE d'OS/2 qui
se trouve sous C:\OS2\INSTALL, la différence essentielle entre ces deux fichiers est que SHUTDOWN.EXE d'OS/2
affiche une boîte de validation notamment pour les applications fenêtrées avant fermeture.
En résumé :
-
si "REINIT.CFG" est vide, on tue toutes les applications lors d'une réinit (modif des paramètres machine ...),
-
si "REINIT.CFG" non vide, y mettre toutes les applications (16 maximum) qui utilisent les ressources systèmes
1060 (UNI-OS2, EDIT-PP, NUM-Bu...).
Accès à partir d'une application client
Application client du type OS/2
L'exécutable lançant le shutdown est implanté sur le disque dur de manière à pouvoir être utilisé par une application
client de type OS/2. Cet exécutable se nomme SHUTDOWN.EXE et se trouve dans le répertoire C:\NUM\GRAPHIC.
Il n'y a pas dans ce cas de demande de validation à l'opérateur.
Application utilisant le pipe
Pour les applications client utilisant le pipe , le code source de celui-ci est modifié et intègre la possibilité de demande
d'un shutdown à partir d'une application DOS. Le code du pipe côté OS/2 est modifié de la même façon.
Le shutdown est réalisé par l'appel de la fonction SHUT_DOWN_PCNC() fournie dans la librairie lib_dnc.lib, par une
application DOS ou WINDOWS. La fermeture d'OS2 se fait sans demande de validation.
Le pipe est le moyen de communication, fourni par NUM, entre des applications Windows et OS/2. Il permet l'émission
des requêtes DNC1000 et la réception des réponses à ces requêtes. Ce pipe est créé et géré par le programme
UNI_OS2.EXE.
Les applications WINDOWS peuvent émettre et recevoir des informations du pipe grâce à LIB_UNIT.DLL.
30
fr-938928/2