Position actuelle: Accueil> Catégories de fonctions> proc_get_status

proc_get_status

Obtenez des informations sur les processus ouverts par la fonction pro_open ()
Nom:proc_get_status
Catégorie:Exécution du programme
Langage de programmation:php
Description en une ligne:Obtenez les informations d'état du processus ouvert par la fonction pro_open ()

Nom de la fonction: proc_get_status ()

Fonction Description: La fonction proc_get_status () est utilisée pour obtenir les informations d'état du processus ouvert par la fonction pro_open ().

Version applicable: PHP 4> = 4.3.0, PHP 5, PHP 7

Syntaxe: array proc_get_status (processus de ressource $)

paramètre:

  • Processus: la ressource de processus renvoyée par proc_open ().

Valeur de retour:

  • Renvoie un tableau associatif contenant des informations sur l'état du processus. Le tableau contient les valeurs de clé suivantes:
    • Commande: la ligne de commande du processus.
    • PID: l'ID de processus.
    • Exécution: valeur booléenne pour savoir si le processus est en cours d'exécution.
    • Signé: valeur booléenne de la fin du processus par un signal.
    • Arrêt: valeur booléenne de la suspension du processus.
    • exetcode: le code de sortie du processus. Si le processus est toujours en cours d'exécution, c'est une valeur négative.
    • Termig: Le numéro de signal du processus s'est terminé.
    • StopSig: Le numéro de signal du processus a été interrompu.

Exemple:

 $descriptors = array( 0 => array('pipe', 'r'), // 标准输入1 => array('pipe', 'w'), // 标准输出2 => array('pipe', 'w') // 标准错误输出); $process = proc_open('ls -l', $descriptors, $pipes); if (is_resource($process)) { // 获取进程状态信息$status = proc_get_status($process); echo "Command: " . $status['command'] . "\n"; echo "PID: " . $status['pid'] . "\n"; echo "Running: " . ($status['running'] ? 'Yes' : 'No') . "\n"; echo "Signaled: " . ($status['signaled'] ? 'Yes' : 'No') . "\n"; echo "Stopped: " . ($status['stopped'] ? 'Yes' : 'No') . "\n"; echo "Exit Code: " . $status['exitcode'] . "\n"; echo "Termination Signal: " . $status['termsig'] . "\n"; echo "Stop Signal: " . $status['stopsig'] . "\n"; // 关闭进程proc_close($process); }

Dans l'exemple ci-dessus, nous utilisons proc_open () pour ouvrir un processus et obtenir les informations d'état du processus via proc_get_status (). Ensuite, nous imprimons la ligne de commande du processus, l'ID de processus, qu'il soit en cours d'exécution, qu'il soit terminé par le signal, s'il est suspendu, quitte le code, terminez le signal et le signal de pause. Enfin, nous avons fermé le processus à l'aide de proc_close ().

Notez que les processus ouverts avec Proc_Open () doivent être explicitement fermés via proc_close () pour éviter la fuite des ressources.

Fonctions similaires
Articles populaires