Mehrere Befehle ausführen, ohne neue Prozesse mit .NET zu erstellen
Sie können mehrere Befehle effizient ausführen, ohne für jeden einen neuen Prozess zu erstellen Leiten Sie die Standardeingabe um und verwenden Sie einen StreamWriter, um in die Standardeingabe zu schreiben. So können Sie Ihren Code ändern:
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"); } } } } }
Dieser aktualisierte Code startet die DOS-Befehls-Shell. Wechseln Sie zur MySQL-Befehls-Shell, indem Sie „mysql --user=root --password=sa casemanager“ eingeben. Führen Sie Ihre gewünschte MySQL-Abfrage aus und verlassen Sie schließlich die MySQL-Shell, indem Sie „exit“ eingeben.
Durch die Verwendung eines StreamWriter zum Schreiben in die Standardeingabe des Shell-Prozesses können Sie effektiv mehrere ausführen Befehle innerhalb eines einzelnen Prozesses, wodurch Ihre Prozessausführung optimiert und die Gesamtleistung verbessert wird.
Das obige ist der detaillierte Inhalt vonWie führe ich mehrere Befehle in einem einzigen .NET-Prozess aus, ohne neue Prozesse zu erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!