Maison >développement back-end >C++ >Comment exécuter plusieurs commandes dans un seul processus à l'aide de .NET ?

Comment exécuter plusieurs commandes dans un seul processus à l'aide de .NET ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-31 09:09:10673parcourir

How to Execute Multiple Commands in a Single Process Using .NET?

Exécuter plusieurs commandes dans un seul processus avec .NET

Afin d'exécuter plusieurs commandes à l'aide d'un seul processus dans .NET, il faut pour créer d'abord une instance de la classe 'Process', ainsi qu'un objet 'ProcessStartInfo' correspondant pour configurer le process.

Ensuite, activez la redirection de l'entrée standard en définissant la propriété 'RedirectStandardInput' dans l'objet 'ProcessStartInfo' sur 'true' et désactivez l'utilisation de l'exécution du shell en définissant 'UseShellExecute' sur 'false'. .

Une fois le processus correctement configuré, on peut le lancer en appelant la méthode 'Start' sur le Objet 'Processus'. Cela démarrera le processus et l'associera aux flux d'entrée, de sortie et d'erreur standard.

Pour écrire dans le flux d'entrée standard du processus, un objet 'StreamWriter' peut être obtenu à l'aide de la propriété 'StandardInput'. sur l'objet 'Processus'. En utilisant la méthode 'WriteLine' sur ce flux, on peut écrire des commandes à exécuter par le processus.

Pour illustrer cela, considérons le code suivant, qui démontre l'exécution de plusieurs commandes MySQL à l'aide d'un seul processus :

Process p = new Process();
ProcessStartInfo info = new ProcessStartInfo();
info.FileName = "cmd.exe";
info.RedirectStandardInput = true;
info.UseShellExecute = false;

p.StartInfo = info;
p.Start();

using (StreamWriter sw = p.StandardInput)
{
    if (sw.BaseStream.CanWrite)
    {
        sw.WriteLine("mysql -u root -p");
        sw.WriteLine("mypassword");
        sw.WriteLine("use mydb;");
    }
}

Ce code crée un processus pour l'exécutable 'cmd.exe', redirige l'entrée standard et désactive l'exécution du shell. À l'intérieur du bloc « using », un « StreamWriter » est utilisé pour écrire des commandes sur l'entrée standard, notamment la connexion au serveur MySQL, la fourniture du mot de passe et la sélection de la base de données souhaitée. En exécutant ces commandes dans un seul processus, on peut éviter de créer plusieurs processus et garantir que les commandes sont exécutées dans un ordre spécifique.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn