refmodule

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
refmodule [2026/08/04 11:54] – [ssh] rootrefmodule [2026/08/04 12:03] (Version actuelle) – [shm] root
Ligne 150: Ligne 150:
 ==== shm ==== ==== shm ====
  
-NOTA : module à finir, revoir doc (newprocessshmreader/writer) Module gérant la communication inter-processus, basée sur des messages textes. Chaque processus possède une //queue// qui permet de recevoir les messages émis par les autres processus.+//NOTA// : module à finir, revoir doc (newprocessshmreader/writer) Module gérant la communication inter-processus, basée sur des messages textes. Chaque processus possède une //queue// qui permet de recevoir les messages émis par les autres processus.
  
    * ''get(content)''  : renvoi dans ''content''  le prochain message reçu depuis la queue interne du processus en cours. S'il n'y a pas de message à lire, renvoi //vide//.    * ''get(content)''  : renvoi dans ''content''  le prochain message reçu depuis la queue interne du processus en cours. S'il n'y a pas de message à lire, renvoi //vide//.
Ligne 167: Ligne 167:
   * ''get(socket, data, timeout)''  : lit les données venant de l'autre côté de la connexion identifiée par l'id ''socket''. Les données lues sont renvoyées dans la chaîne ''data''. Si aucune donnée d'est disponible au bout du délai ''timeout''  donné, (en secondes), la chaîne ''data''  est renvoyée //vide//.   * ''get(socket, data, timeout)''  : lit les données venant de l'autre côté de la connexion identifiée par l'id ''socket''. Les données lues sont renvoyées dans la chaîne ''data''. Si aucune donnée d'est disponible au bout du délai ''timeout''  donné, (en secondes), la chaîne ''data''  est renvoyée //vide//.
   * ''set(socket, data)''  : écrit les données de ''data''  sur la connexion identifiée par l'id ''socket''.   * ''set(socket, data)''  : écrit les données de ''data''  sur la connexion identifiée par l'id ''socket''.
 +  * ''getHostname(name, ip)''  : renvoi le nom (dans ''name'') et l'addresse ip (dans ''ip'') de l'hôte qui exécute le programme en cours.
  
  
-==== ssh ====+==== wssh ====
  
 Module basé sur ''lib_ssh'' permettant l'accès sécurisé à un serveur. Module basé sur ''lib_ssh'' permettant l'accès sécurisé à un serveur.
Ligne 180: Ligne 181:
   * ''readChannel(response, timeout)''  : lit la réponse du serveur distant dans ''response'', en utilisant ''timeout''  comme délai de lecture (en seconde).   * ''readChannel(response, timeout)''  : lit la réponse du serveur distant dans ''response'', en utilisant ''timeout''  comme délai de lecture (en seconde).
   * ''writeChannel(command)''  : exécute la commande ''command''  sur le serveur distant   * ''writeChannel(command)''  : exécute la commande ''command''  sur le serveur distant
-  * ''openSftp'' : ouvre un canal de type //transfer// avec le serveur distant. +  * ''openSftp''  : ouvre un canal de type //transfer//  avec le serveur distant. 
-  * ''closeSftp'' : ferme le canal de type //transfert// mais laisse la connexion au serveur ouverte. +  * ''closeSftp''  : ferme le canal de type //transfert//  mais laisse la connexion au serveur ouverte. 
-  * //to be continued...//+  * //to be continued//
 Pour l'exécution de commandes ponctuelles, le worflow typique d'exécution est le suivant : Pour l'exécution de commandes ponctuelles, le worflow typique d'exécution est le suivant :
  
 <code wlang> <code wlang>
 ; ;
-invoke ssh&openSession(host, user, pwd)+invoke wssh&openSession(host, user, pwd)
 ; ;
 ; do something ; do something
 ; ;
-invoke ssh&execChannel(cmd, res, timeout)+invoke wssh&execChannel(cmd, res, timeout)
 ; ;
 ; do another thing ; do another thing
 ; ;
-invoke ssh&execChannel(cmd, res, timeout)+invoke wssh&execChannel(cmd, res, timeout)
 ; ;
 ; terminate ; terminate
-invoke ssh&endSession+invoke wssh&endSession
 ; ;
  
Ligne 208: Ligne 209:
 <code wlang> <code wlang>
 ; ;
-invoke ssh&openSession(host, user, pwd) +invoke wssh&openSession(host, user, pwd) 
-invoke ssh&openChannel+invoke wssh&openChannel
 ; ;
 ; read login information ; read login information
-invoke ssh&readChannel(res, timeout)+invoke wssh&readChannel(res, timeout)
 ; ;
 loop loop
    ;    ;
-   invoke ssh&writeChannel(cmd)+   invoke wssh&writeChannel(cmd)
    ;    ;
-   invoke ssh&readChannel(res, timeout)+   invoke wssh&readChannel(res, timeout)
    ;    ;
 endloop endloop
 ; ;
 ; terminate ; terminate
-invoke ssh&endSession+invoke wssh&endSession
 ; ;
  
Ligne 239: Ligne 240:
   * ''updateEnv(varName, value)''  : met à jour la variable d'environnement ''varName''  avec la valeur ''value''. Génère l'exception EXMOD_SYSTEM_SETENV si la variable est inconnue de la session en cours.   * ''updateEnv(varName, value)''  : met à jour la variable d'environnement ''varName''  avec la valeur ''value''. Génère l'exception EXMOD_SYSTEM_SETENV si la variable est inconnue de la session en cours.
   * ''deleteEnv(varName)''  : supprime la variable d'environnement nommée ''varName''  de la session courante. Génère l'exception EXMOD_SYSTEM_SETENV si la variable est inconnue   * ''deleteEnv(varName)''  : supprime la variable d'environnement nommée ''varName''  de la session courante. Génère l'exception EXMOD_SYSTEM_SETENV si la variable est inconnue
-  * ''getOS(OScode)''  : renvoi un code, dans le paramètre ''OScode'', indiquant le type de l'OS hôte du programme en cours : Windows, Linux… +  * ''getOS(OScode)''  : renvoi un code, dans le paramètre ''OScode'', indiquant le type de l'OS hôte du programme en cours (de type chaîne) //Windows////Linux//
-  * ''getHostname(name, ip)''  : renvoi le nom (dans ''name'') et l'addresse ip (dans ''ip'') de l'hôte qui exécute le programme en cours+
   * ''sendSignal(pid, signalNumber)''  : envoi le signal numéro ''signalNumber''  au processus identifié par son numéro ''pid''. Seuls les 3 signaux SIGTERM, SIGINT, SIGUSR1 sont pris en charge. Les autres sont ignorés. Fonction compatible Unix/Windows mais sous Windows, ce sont des évènements qui sont générés, pas des signaux ; SIGTERM et SIGINT génèrent un évènement ''Global\\wterm<pid>''  et SIGUSR1 génère un évènement ''Global\\wdebug<pid>''   * ''sendSignal(pid, signalNumber)''  : envoi le signal numéro ''signalNumber''  au processus identifié par son numéro ''pid''. Seuls les 3 signaux SIGTERM, SIGINT, SIGUSR1 sont pris en charge. Les autres sont ignorés. Fonction compatible Unix/Windows mais sous Windows, ce sont des évènements qui sont générés, pas des signaux ; SIGTERM et SIGINT génèrent un évènement ''Global\\wterm<pid>''  et SIGUSR1 génère un évènement ''Global\\wdebug<pid>''
   * ''sleep(duration)''  : endort le process en cours, pour une durée de ''duration''  secondes   * ''sleep(duration)''  : endort le process en cours, pour une durée de ''duration''  secondes
  • refmodule.1785844445.txt.gz
  • Dernière modification : 2026/08/04 11:54
  • de root