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!