Maison >développement back-end >C++ >Comment exécuter plusieurs commandes dans un seul processus .NET sans créer de nouveaux processus ?

Comment exécuter plusieurs commandes dans un seul processus .NET sans créer de nouveaux processus ?

DDD
DDDoriginal
2025-01-04 02:45:40900parcourir

How to Execute Multiple Commands in a Single .NET Process Without Creating New Processes?

Exécuter plusieurs commandes sans créer de nouveaux processus à l'aide de .NET

Pour exécuter efficacement plusieurs commandes sans créer un nouveau processus pour chacune, vous pouvez redirigez l’entrée standard et utilisez un StreamWriter pour écrire sur l’entrée standard. Voici comment modifier votre code :

using System.Diagnostics;

namespace ExecuteMultipleCommands
{
    class Program
    {
        static void Main(string[] args)
        {
            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 --user=root --password=sa casemanager");
                    sw.WriteLine("your-query-here");
                    sw.WriteLine("exit");
                }
            }
        }
    }
}

Ce code mis à jour démarrera le shell de commande DOS, passera au shell de commande MySQL en entrant "mysql --user=root --password=sa casemanager", exécutez la requête MySQL souhaitée, et enfin quittez le shell MySQL en saisissant "exit".

En utilisant un StreamWriter pour écrire sur l'entrée standard du processus shell, vous pouvez exécuter efficacement plusieurs commandes au sein d'un seul processus, rationalisant l'exécution de votre processus et améliorant les performances globales.

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