Contrôle de processus et d'environnement

 

Pour obtenir la dernière documentation sur Visual Studio 2017 RC, consultez Documentation Visual Studio 2017 RC.

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

RoutineUtilisezÉquivalent de .NET Framework
abortArrêter le processus sans vider les mémoires tampons ou appeler des fonctions enregistrées par atexit et _onexitNon applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme.
assertTest d'une erreur de logique<caps:sentence id="tgt14" sentenceid="14fd9bf776829d73028df00162f7533f" class="tgtSentence">System::Diagnostics::Debug::Assert</caps:sentence>
macros _ASSERT, _ASSERTESimilaire à assert, mais uniquement disponible dans les versions de débogage des bibliothèques Runtime<caps:sentence id="tgt17" sentenceid="14fd9bf776829d73028df00162f7533f" class="tgtSentence">System::Diagnostics::Debug::Assert</caps:sentence>
atexitRoutines de planification pour l'exécution à l'arrêt du programme<caps:sentence id="tgt20" sentenceid="db022fa9aa2a12937c3610e3eb32e80f" class="tgtSentence">System::Diagnostics::Process::Exited</caps:sentence>
_beginthread, _beginthreadexCréez un nouveau thread sur un processus de système d'exploitation Windows<caps:sentence id="tgt23" sentenceid="221e38ecc6535bce91af4e1a19f464d1" class="tgtSentence">System::Threading::Thread::Start</caps:sentence>
_cexitEffectue 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<caps:sentence id="tgt26" sentenceid="46302f19d05c09c5875a795cb64800f9" class="tgtSentence">System::Diagnostics::Process::CloseMainWindow</caps:sentence>
_c_exitEffectue les procédures d'arrêt _exit, puis retourne le contrôle au programme appelant sans mettre fin au processus<caps:sentence id="tgt29" sentenceid="46302f19d05c09c5875a795cb64800f9" class="tgtSentence">System::Diagnostics::Process::CloseMainWindow</caps:sentence>
_cwaitAttendre qu'un autre processus se termine.<caps:sentence id="tgt32" sentenceid="d9c88c429eaacaa9f37d91d29bc6504e" class="tgtSentence">System::Diagnostics::Process::WaitForExit</caps:sentence>
_endthread, _endthreadexTerminer un thread de système d'exploitation WindowsNon applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme.
_execl, _wexeclExécute le nouveau processus avec la liste d'argumentsSystem::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class
_execle, _wexecleExécutez le nouveau processus avec la liste d'arguments et l'environnement donnéSystem::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class
_execlp, _wexeclpExécutez le nouveau processus avec la variable PATH et la liste des argumentsSystem::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class
_execlpe, _wexeclpeExécutez le nouveau processus avec la variable PATH, l'environnement donné, et la liste d'argumentsSystem::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class
_execv, _wexecvExécute le nouveau processus avec le tableau d'argumentsSystem::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class
_execve, _wexecveExécutez le nouveau processus avec le tableau d'arguments et l'environnement donnéSystem::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class
_execvp, _wexecvpExécutez le nouveau processus avec la variable PATH et le tableau des argumentsSystem::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class
_execvpe, _wexecvpeExécutez le nouveau processus avec la variable PATH, l'environnement donné, et le tableau d'argumentsSystem::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class
exitAppelle les fonctions stockées par atexit et _onexit, vide toutes les mémoires tampons, ferme tous les fichiers ouverts, et termine le processus<caps:sentence id="tgt64" sentenceid="811a70e90f150f212690505b37a46c0f" class="tgtSentence">System::Diagnostics::Process::Kill</caps:sentence>
_exitTermine le processus immédiatement sans appeler atexit ou _onexit ou vider les mémoires tampons<caps:sentence id="tgt67" sentenceid="811a70e90f150f212690505b37a46c0f" class="tgtSentence">System::Diagnostics::Process::Kill</caps:sentence>
getenv, _wgetenv, getenv_s, _wgetenv_sObtient la valeur de la variable d'environnement<caps:sentence id="tgt70" sentenceid="795988b9277d74ea3b722ecd42dcb29d" class="tgtSentence">System::Environment::GetEnvironmentVariable</caps:sentence>
_getpidObtient le numéro d'identification de processus<caps:sentence id="tgt73" sentenceid="745b82c461dc74b15540e9622f7cd7bd" class="tgtSentence">System::Diagnostics::Process::Id</caps:sentence>
longjmpRestaure l'environnement de pile sauvegardé ; l'utilise pour exécuter un goto non localNon applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme.
_onexitRoutines 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<caps:sentence id="tgt81" sentenceid="db022fa9aa2a12937c3610e3eb32e80f" class="tgtSentence">System::Diagnostics::Process::Exited</caps:sentence>
_pcloseAttendez 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.
perror, _wperrorImprime un message d'erreur.Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme.
_pipeCréez un canal pour lire et écrireNon applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme.
_popen, _wpopenCréez le canal et exécutez la commandeNon applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme.
_putenv, _wputenv, _putenv_s, _wputenv_sAjoutez ou modifiez la valeur de la variable d'environnementNon applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme.
raiseEnvoyer le signal au processus appelantNon applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme.
setjmpEnregistrez l'environnement de pile ; utilisez le pour exécuter un gotonon localNon applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme.
signalSignal d'interruption de descripteurNon applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme.
_spawnl, _wspawnlCréer et exécuter un nouveau processus avec la liste d'arguments spécifiéeSystem::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class
_spawnle, _wspawnleCréer et exécuter un nouveau processus avec la liste d'arguments spécifiée et l'environnementSystem::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class
_spawnlp, _wspawnlpCréer et exécuter un nouveau processus avec la variable PATH et la liste des arguments spécifiéeSystem::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class
_spawnlpe, _wspawnlpeCréer et exécuter un nouveau processus avec la variable PATH, l'environnement spécifié et la liste des argumentsSystem::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class
_spawnv, _wspawnvCréer et exécuter un nouveau processus avec le tableau d'arguments spécifiéeSystem::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class
_spawnve, _wspawnveCré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
_spawnvp, _wspawnvpCréer et exécuter un nouveau processus avec la variable PATH et le tableau des arguments spécifiéeSystem::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class
_spawnvpe, _wspawnvpeCréer et exécuter un nouveau processus avec la variable PATH, l'environnement spécifié et le tableau des argumentsSystem::Diagnostics::Process Class, System::Diagnostics::ProcessStartInfo Class
system, _wsystemExécutez la commande du système d'exploitationSystem::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

FonctionsUtilisez la variable PATH pour rechercher le fichierConvention de passage d'argumentparamètres d'environnement
_execl, _spawnlNonListeHérité du processus appelant
_execle, _spawnleNonListeLe pointeur vers la table d'environnement pour le nouveau processus est transmis en tant que dernier argument
_execlp, _spawnlpOuiListeHérité du processus appelant
_execlpe, _spawnlpeOuiListeLe pointeur vers la table d'environnement pour le nouveau processus est transmis en tant que dernier argument
_execv, _spawnvNonTableauHérité du processus appelant
_execve, _spawnveNonTableauLe pointeur vers la table d'environnement pour le nouveau processus est transmis en tant que dernier argument
_execvp, _spawnvpOuiTableauHérité du processus appelant
_execvpe, _spawnvpeOuiTableauLe pointeur vers la table d'environnement pour le nouveau processus est transmis en tant que dernier argument

Routines runtime par catégorie

Afficher: