Partager via


Contrôle de processus et d’environnement

Utilisez les routines de contrôle de processus pour démarrer, arrêter et gérer les processus à partir d’un programme. Utilisez les routines de contrôle de l’environnement pour obtenir et modifier les informations sur l’environnement de système d’exploitation.

Fonctions de contrôle de processus et d’environnement

Routine Utilisation
abort Abandonner le processus sans vider les mémoires tampons ou appeler des fonctions enregistrées par atexit et _onexit
assert Vérifier une erreur logique
_ASSERT, _ASSERTE macros Similaire à assert, mais uniquement disponible dans les versions Debug des bibliothèques Runtime
atexit Planifier des routines à exécuter à l’arrêt du programme
_beginthread, _beginthreadex Créer un thread dans un processus de système d’exploitation Windows
_cexit Exécuter des procédures d’arrêt exit (par exemple, vider les mémoires tampons), puis retourner le contrôle au programme appelant sans arrêter le processus
_c_exit Exécuter des procédures d’arrêt _exit, puis redonner le contrôle au programme appelant sans arrêter le processus
_cwait Attendre la fin d’un autre processus
_endthread, _endthreadex Terminer un thread de système d’exploitation Windows
_execl, _wexecl Exécuter un nouveau processus avec une liste d’arguments
_execle, _wexecle Exécuter un nouveau processus avec une liste d’arguments et un environnement donné
_execlp, _wexeclp Exécuter un nouveau processus en utilisant la variable PATH et une liste d’arguments
_execlpe, _wexeclpe Exécuter un nouveau processus en utilisant la variable PATH, un environnement donné et une liste d’arguments
_execv, _wexecv Exécuter un nouveau processus avec un tableau d’arguments
_execve, _wexecve Exécuter un nouveau processus avec un tableau d’arguments et un environnement donné
_execvp, _wexecvp Exécuter un nouveau processus en utilisant la variable PATH et un tableau d’arguments
_execvpe, _wexecvpe Exécuter un nouveau processus en utilisant la variable PATH, un environnement donné et un tableau d’arguments
exit Appeler des fonctions enregistrées par atexit et _onexit, vider toutes les mémoires tampons, fermer tous les fichiers ouverts et terminer le processus
_exit Terminer le processus immédiatement sans appeler atexit ou _onexit, ou vider les mémoires tampons
getenv, _wgetenv, getenv_s, _wgetenv_s Obtenir la valeur de la variable d’environnement
_getpid Obtenir un numéro d’identification de processus
longjmp Restaurer l’environnement de pile enregistré ; l’utiliser pour exécuter un goto non-local
_onexit Planifier des routines à exécuter à l’arrêt du programme ; utiliser pour la compatibilité avec Microsoft C/C++ version 7.0 et antérieures
_pclose Attendre un nouveau processeur de commandes et fermer le flux du canal associé
perror, _wperror Imprimer un message d’erreur
_pipe Créer un canal pour la lecture et l’écriture
_popen, _wpopen Créer un canal et exécuter une commande
_putenv, _wputenv, _putenv_s, _wputenv_s Ajouter ou modifier la valeur de la variable d’environnement
raise Envoyer un signal au processus appelant
setjmp Enregistrer l’environnement de pile ; utiliser pour exécuter un goto non-local
signal Gérer le signal d’interruption
_spawnl, _wspawnl Créer un processus et l’exécuter avec la liste d’arguments spécifiée
_spawnle, _wspawnle Créer un processus et l’exécuter avec la liste d’arguments et l’environnement spécifiés
_spawnlp, _wspawnlp Créer un processus et l’exécuter en utilisant la variable PATH et une liste d’arguments spécifiée
_spawnlpe, _wspawnlpe Créer un processus et l’exécuter en utilisant la variable PATH, l’environnement et la liste d’arguments spécifiés
_spawnv, _wspawnv Créer un processus et l’exécuter avec le tableau d’arguments spécifié
_spawnve, _wspawnve Créer un processus et l’exécuter avec le tableau d’arguments et l’environnement spécifiés
_spawnvp, _wspawnvp Créer un processus et l’exécuter en utilisant la variable PATH et le tableau d’arguments spécifié
_spawnvpe, _wspawnvpe Créer un processus et l’exécuter en utilisant la variable PATH, l’environnement et le tableau d’arguments spécifiés
system, _wsystem Exécuter une commande de système d’exploitation

Dans le système d’exploitation Windows, le processus généré équivaut au processus de génération. Tous les processus peuvent utiliser _cwait pour attendre un autre processus dont l’ID de processus est connu.

La différence entre les familles _exec et _spawn est qu’une fonction _spawn peut retourner le contrôle du nouveau processus au processus appelant. Dans une fonction _spawn, le processus appelant et le nouveau processus sont présents dans la mémoire, sauf si _P_OVERLAY est spécifié. Dans une _exec fonction, le nouveau processus superpose le processus appelant, de sorte que le contrôle ne peut pas revenir au processus appelant, sauf si une erreur se produit lors de la tentative de démarrage de l’exécution du nouveau processus.

Les différences entre les fonctions dans les familles et _spawn les _exec familles impliquent la méthode de localisation du fichier à exécuter en tant que nouveau processus, le formulaire dans lequel les arguments sont passés au nouveau processus et la méthode de définition de l’environnement, comme indiqué dans le tableau suivant. Utilisez une fonction qui passe une liste d’arguments quand le nombre d’arguments est constant ou connu au moment de la compilation. Utilisez une fonction qui passe un pointeur à un tableau contenant les arguments quand le nombre d’arguments doit être déterminé au moment de l’exécution. Les informations contenues dans le tableau suivant s’appliquent également aux caractères larges équivalents des fonctions _spawn et _exec.

_spawn et _exec familles de fonctions

Functions Utiliser la PATH variable pour localiser le fichier Convention de passage d'argument Paramètres de l’environnement
_execl, _spawnl Non Liste Hérité du processus appelant
_execle, _spawnle Non Liste Pointeur vers la table d’environnement pour le nouveau processus passé comme dernier argument
_execlp, _spawnlp Oui Liste Hérité du processus appelant
_execvpe, _spawnvpe Oui Tableau Pointeur vers la table d’environnement pour le nouveau processus passé comme dernier argument
_execlpe, _spawnlpe Oui Liste Pointeur vers la table d’environnement pour le nouveau processus passé comme dernier argument
_execv, _spawnv Non Tableau Hérité du processus appelant
_execve, _spawnve Non Tableau Pointeur vers la table d’environnement pour le nouveau processus passé comme dernier argument
_execvp, _spawnvp Oui Tableau Hérité du processus appelant

Voir aussi

Routines du runtime C universel par catégorie