Sous-routine popen
Objectif
Lance un canal de communication vers un processus.
Bibliothèque
Bibliothèque C standard (libc.a)
Syntaxe
Descriptif
La sous-routine popen crée un canal de communication entre le programme appelant et une commande shell à exécuter.
Si les flux ouverts par des appels précédents à la sous-routine popen restent ouverts dans le processus parent, la sous-routine popen les ferme dans le processus enfant.
La sous-routine popen renvoie un pointeur vers une structure FILE pour le flux.
Certains problèmes liés à un filtre de sortie peuvent être évités en vider la mémoire tampon à l'aide de la sous-routine fflush .
Paramètres
| Article | Descriptif |
|---|---|
| Commande | Pointe vers une chaîne à terminaison nulle contenant une ligne de commande shell. |
| type | Pointe vers une chaîne à terminaison nulle contenant un mode d'E-S. Si le paramètre Type est la valeur r, vous pouvez lire la sortie standard de la commande en la lisant dans le fichier Flux. Si le paramètre Type est la valeur w, vous pouvez écrire dans l'entrée standard de la commande en écrivant dans le fichier Stream. Etant donné que les fichiers ouverts sont partagés, une commande de type r peut être utilisée comme filtre d'entrée et une commande de type w comme filtre de sortie. |
Valeurs renvoyées
La sous-routine popen renvoie un pointeur null si des fichiers ou des processus ne peuvent pas être créés ou si l'interpréteur de commandes est inaccessible.
Codes d'erreur
La sous-routine popen définit la variable EINVAL si le paramètre Type n'est pas valide. La sous-routine popen peut également définir des variables globales errno comme décrit par les sous-routines fork ou pipe .