Vous êtes sur le site Web historique de la documentation de 4D. Les documentations sont progressivement déplacées vers developer.4d.com

Accueil

 
4D v20.6
INFORMATIONS PROCESS

INFORMATIONS PROCESS 


 

INFORMATIONS PROCESS ( process ; procNom ; procStatut ; procTemps {; procMode {; uniqueID {; origine}}} ) 
Paramètre Type   Description
process  Entier long in Numéro du process
procNom  Chaîne in Nom du process
procStatut  Entier long in Statut du process
procTemps  Entier long in Temps d'exécution cumulé du process en ticks
procMode  Booléen, Entier long in Si booléen : Visible (Vrai) ou Caché (Faux)
Si entier long (champ de bits) : bit 0 = Visibilité, bit 1 = Exécution en préemptif
uniqueID  Entier long in Numéro unique du process
origine  Entier long in Origine du process

La commande INFORMATIONS PROCESS retourne diverses informations sur le process dont vous passez le numéro dans process.

Note : Si le process n'existe pas, ce qui veut dire que vous n'avez pas passé, dans process, un nombre inclus dans l'intervalle [1>Nombre de process], INFORMATIONS PROCESS laisse les valeurs des variables passées en paramètres inchangées.

Après l'appel :

  • procNom retourne le nom du process. Quelques points sont à noter à propos du nom du process :
    • Si le process a été démarré depuis la boîte de dialogue Exécuter une méthode (avec l'option Nouveau process sélectionnée), son nom est “P_” suivi d'un numéro.
    • Si le process a été démarré à partir d'une commande de menu personnalisé dont la propriété Démarrer un process est sélectionnée, le nom du process est “M_” ou “ML_” suivi d'un numéro.
    • Si le process a été démarré par le serveur Web, son nom est "Web Process#" suivi d'un identifiant UUID.
    • Si un process a été stoppé (et son “espace” non encore réutilisé), son nom est encore retourné. Pour détecter si un process est stoppé, testez procStatut=-1 (voir ci-dessous).
  • procStatut retourne le statut du process au moment de l'appel. Ce paramètre peut retourner l'une des valeurs fournies par les constantes prédéfinies suivantes :
    Constante Type Valeur
    Inexistant Entier long -100
    Détruit Entier long -1
    En exécution Entier long 0
    Endormi Entier long 1
    En attente événement Entier long 2
    En attente entrée sortie Entier long 3
    En attente drapeau interne Entier long 4
    Suspendu Entier long 5

 

  • procTemps retourne le cumul du temps que le process a utilisé depuis qu'il a été démarré, en ticks (1/60e de seconde).
  • Le paramètre optionnel procMode peut être une variable de type booléen ou entier long :
    • s'il est de type booléen, il retourne Vrai si le process est visible et Faux s'il est caché.
    • s'il est de type entier long, il contient après l’exécution de la méthode un champ de bits où les deux premiers bits sont définis :
      • le bit 0 retourne la propriété de visibilité : 1 si le process est visible, et 0 s'il est caché
      • le bit 1 retourne la propriété de mode préemptif : 1 si le process est exécuté en mode préemptif, et 0 s'il est exécuté en mode coopératif. Pour plus d'informations, reportez-vous à la section Process 4D préemptifs.
  • uniqueID, s'il est spécifié, retourne le numéro unique du process. En effet, chaque process se voit attribuer un numéro de process ainsi qu’un numéro unique de process par session. Ce dernier permet de différencier strictement deux process ou sessions de process. Il correspond au nombre de process ayant été lancés au cours de la session de l’application 4D.
 

  • origin, s'il est spécifié, retourne une valeur décrivant l’origine du process. 4D propose les constantes prédéfinies suivantes (thème "Type du process") : 

    Constante Type Valeur Comment
    Aucun Entier long 0
    Autre process 4D Entier long -10
    Autre process interne Entier long -40
    Autre process utilisateur Entier long 4
    Créé par commande de menu Entier long 2
    Créé par dialogue d'exécution Entier long 3
    Gestionnaire Apple Event Entier long -7
    Gestionnaire d’événement Entier long -8
    Gestionnaire d’index Entier long -5
    Gestionnaire de session ServerNet Entier long -44
    Gestionnaire de session SQL Net Entier long -53
    Gestionnaire du cache Entier long -4
    Gestionnaire du port série Entier long -6
    Process 4D principal Entier long -39
    Process 4D Server interne Entier long -18
    Process compilateur Entier long -29
    Process CSM Entier long -22
    Process d'activité Entier long -26
    Process DB4D Cron Entier long -49
    Process DB4D Ecriture cache Entier long -46
    Process DB4D Garbage collector Entier long -47
    Process DB4D Index builder Entier long -45
    Process DB4D Listener Entier long -51
    Process DB4D Miroir Entier long -50
    Process DB4D Worker pool utilisateur Entier long -48
    Process de restitution Entier long -21
    Process de sauvegarde Entier long -19
    Process développement Entier long -2
    Process du fichier d'historique Entier long -20
    Process du serveur Web Entier long -13
    Process exécuté sur client Entier long -14
    Process exécuté sur serveur Entier long 1
    Process exécution méthode SQL Entier long -24
    Process gestionnaire de clients Entier long -31
    Process HTTP Ecriture historique Entier long -58
    Process HTTP Listener Entier long -56
    Process HTTP Worker pool serveur Entier long -55
    Process interface serveur Entier long -15
    Process Logger Entier long -57
    Process macro éditeur de méthod Entier long -17
    Process minuteur interne Entier long -25
    Process principal Entier long -1
    Process ServerNet Listener Entier long -43
    Process SOAP Entier long -33
    Process SQL Listener Entier long -54
    Process SQL Worker pool serveur Entier long -52
    Process sur fermeture Entier long -16
    Process Web 4D distant Entier long -12
    Process Web sans contexte Entier long -3
    Process worker Entier long 5 Process worker lancé par l’utilisateur
    Process Worker pool réserve Entier long -42
    Process Worker pool utilisé Entier long -41
    Tâche externe Entier long -9
    Web server spare process Entier long -32
     

    Note: Les process internes à 4D retournent une valeur négative et les process générés par l’utilisateur retournent une valeur positive.

L'exemple suivant retourne le nom, le statut, et le temps écoulé dans les variables vNom, vStatut, et vTempsPassé pour le process courant :

 C_TEXTE(vNom//Initialiser les variables
 C_ENTIER LONG(vStatut)
 C_ENTIER LONG(vTempsPassé)
 INFORMATIONS PROCESS(Numero du process courant;vNom;vStatut;vTempsPassé)

Voir l'exemple de la section Semaphore.

Pour connaître la visibilité et le mode d'exécution du process courant, vous pouvez écrire :

 C_TEXTE(vNom)
 C_ENTIER LONG(vStatut)
 C_ENTIER LONG(vDurée)
 C_ENTIER LONG(vMode//peut être déclaré en booléen si on veut juste connaître la visibilité
 C_BOOLEEN(estVisible)
 C_BOOLEEN(estPreemptif)
 INFORMATIONS PROCESS(Numero du process courant;vNom;vStatut;vDurée;vMode)
 estVisible:=vMode?? 0 //vrai si visible
 estPreemptif:=vMode?? 1 //vrai si préemptif



Voir aussi  

Lire activite process
Nombre de process
Process 4D préemptifs
Statut du process

 
PROPRIÉTÉS 

Produit : 4D
Thème : Process
Numéro : 336
Nom intl. : PROCESS PROPERTIES

Commande(s) éligible(s) à l'exécution dans un process préemptif

 
PAGE CONTENTS 
 
HISTORIQUE 

Modifié : 4D v11 SQL Release 3
Modifié : 4D v15 R5

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v20)
4D - Langage ( 4D v20.1)
4D - Langage ( 4D v20.2)
4D - Langage ( 4D v20.3)
4D - Langage ( 4D v20.4)
4D - Langage ( 4D v20.5)
4D - Langage ( 4D v20.6)