Contrôle de processus et d'environnement
Utilisez les routines de régulation de processus pour démarrer, arrêter, et gérer des processus depuis un programme. Utilisez les routines d'environnement-contrôle pour obtenir et modifier les informations sur l'environnement du système d'exploitation.
Fonctions de contrôle de processus et d'environnement
Routine |
Utilisez |
Équivalent de .NET Framework |
---|---|---|
Arrêter le processus sans vider les mémoires tampons ou appeler des fonctions enregistrées par atexit et _onexit |
Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme. |
|
Test d'une erreur de logique |
||
macros _ASSERT, _ASSERTE |
Similaire à assert, mais uniquement disponible dans les versions de débogage des bibliothèques Runtime |
|
Routines de planification pour l'exécution à l'arrêt du programme |
||
Créez un nouveau thread sur un processus de système d'exploitation Windows |
||
Effectue les procédures d'arrêt exit (telles que vider les mémoires tampons), puis retourne le contrôle au programme appelant sans mettre fin au processus |
||
Effectue les procédures d'arrêt _exit, puis retourne le contrôle au programme appelant sans mettre fin au processus |
||
Attendre qu'un autre processus se termine. |
||
Terminer un thread de système d'exploitation Windows |
Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme. |
|
Exécute le nouveau processus avec la liste d'arguments |
System::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class |
|
Exécutez le nouveau processus avec la liste d'arguments et l'environnement donné |
System::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class |
|
Exécutez le nouveau processus avec la variable PATH et la liste des arguments |
System::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class |
|
Exécutez le nouveau processus avec la variable PATH, l'environnement donné, et la liste d'arguments |
System::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class |
|
Exécute le nouveau processus avec le tableau d'arguments |
System::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class |
|
Exécutez le nouveau processus avec le tableau d'arguments et l'environnement donné |
System::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class |
|
Exécutez le nouveau processus avec la variable PATH et le tableau des arguments |
System::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class |
|
Exécutez le nouveau processus avec la variable PATH, l'environnement donné, et le tableau d'arguments |
System::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class |
|
Appelle les fonctions stockées par atexit et _onexit, vide toutes les mémoires tampons, ferme tous les fichiers ouverts, et termine le processus |
||
Termine le processus immédiatement sans appeler atexit ou _onexit ou vider les mémoires tampons |
||
Obtient la valeur de la variable d'environnement |
||
Obtient le numéro d'identification de processus |
||
Restaure l'environnement de pile sauvegardé ; l'utilise pour exécuter un goto non local |
Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme. |
|
Routines de planification pour l'exécution à l'arrêt du programme ; utilisation pour la compatibilité avec la version 7,0 de Microsoft C/C++ et antérieures |
||
Attendez le nouveau processeur de commandes et fermez le flux de données sur le canal associé |
Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme. |
|
Imprime un message d'erreur. |
Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme. |
|
Créez un canal pour lire et écrire |
Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme. |
|
Créez le canal et exécutez la commande |
Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme. |
|
Ajoutez ou modifiez la valeur de la variable d'environnement |
Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme. |
|
Envoyer le signal au processus appelant |
Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme. |
|
Enregistrez l'environnement de pile ; utilisez le pour exécuter un gotonon local |
Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme. |
|
Signal d'interruption de descripteur |
Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme. |
|
Créer et exécuter un nouveau processus avec la liste d'arguments spécifiée |
System::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class |
|
Créer et exécuter un nouveau processus avec la liste d'arguments spécifiée et l'environnement |
System::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class |
|
Créer et exécuter un nouveau processus avec la variable PATH et la liste des arguments spécifiée |
System::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class |
|
Créer et exécuter un nouveau processus avec la variable PATH, l'environnement spécifié et la liste des arguments |
System::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class |
|
Créer et exécuter un nouveau processus avec le tableau d'arguments spécifiée |
System::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class |
|
Créer et exécuter un nouveau processus avec le tableau d'arguments et l'environnement spécifié |
System::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class |
|
Créer et exécuter un nouveau processus avec la variable PATH et le tableau des arguments spécifiée |
System::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class |
|
Créer et exécuter un nouveau processus avec la variable PATH, l'environnement spécifié et le tableau des arguments |
System::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class |
|
Exécutez la commande du système d'exploitation |
System::Diagnostics::ProcessStartInfo Class, System::Diagnostics::Process Class |
Dans le système d'exploitation Windows, le processus engendré est équivalent au processus engendrant. Tout processus peut utiliser _cwait pour attendre tout autre processus dont l'ID de processus est connu.
La différence entre _exec et les familles _spawn est qu'une fonction _spawn peut retourner le contrôle depuis le nouveau processus vers le processus appelant. Dans une fonction _spawn, le processus appelant et le nouveau processus sont présents dans la mémoire à moins que _P_OVERLAY soit spécifié. Dans une fonction _exec, le nouveau processus recouvre le processus appelant, le contrôle ne peut pas retourner au processus appelant sauf si une erreur se produit dans la tentative de démarrage de l'exécution du nouveau processus.
Les différences entre les fonctions dans la famille _exec, ainsi que celles parmi la famille _spawn, comprennent la méthode de recherche du fichier à exécuter comme le nouveau processus, le formulaire dans lequel les arguments sont passés au nouveau processus, puis la méthode pour définir l'environnement, comme indiqué dans le tableau suivant. Utilisez une fonction qui passe une liste d'arguments lorsque le nombre d'arguments est fixe ou est connu au moment de compiler Utilisez une fonction qui passe un pointeur vers un tableau qui contient les arguments lorsque le nombre d'arguments doit être déterminé au moment de l'exécution. Les informations dans le tableau ci-dessous s'appliquent également aux homologues de caractères étendus de _spawn et _exec s'exécute.
Les familles de fonctions _spawn et le _exec
Fonctions |
Utilisez la variable PATH pour rechercher le fichier |
Convention de passage d'argument |
paramètres d'environnement |
---|---|---|---|
_execl, _spawnl |
Non |
Liste |
Hérité du processus appelant |
_execle, _spawnle |
Non |
Liste |
Le pointeur vers la table d'environnement pour le nouveau processus est transmis en tant que dernier argument |
_execlp, _spawnlp |
Oui |
Liste |
Hérité du processus appelant |
_execlpe, _spawnlpe |
Oui |
Liste |
Le pointeur vers la table d'environnement pour le nouveau processus est transmis en tant que dernier argument |
_execv, _spawnv |
Non |
Tableau |
Hérité du processus appelant |
_execve, _spawnve |
Non |
Tableau |
Le pointeur vers la table d'environnement pour le nouveau processus est transmis en tant que dernier argument |
_execvp, _spawnvp |
Oui |
Tableau |
Hérité du processus appelant |
_execvpe, _spawnvpe |
Oui |
Tableau |
Le pointeur vers la table d'environnement pour le nouveau processus est transmis en tant que dernier argument |