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 | Utiliser |
---|---|
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 d'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 |