首页 > 后端开发 > C++ > 如何在单个 .NET 进程中执行多个命令而不创建新进程?

如何在单个 .NET 进程中执行多个命令而不创建新进程?

DDD
发布: 2025-01-04 02:45:40
原创
873 人浏览过

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

执行多个命令而不使用 .NET 创建新进程

要高效执行多个命令而不为每个命令创建新进程,您可以重定向标准输入并利用 StreamWriter 写入标准输入。以下是修改代码的方法:

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");
                }
            }
        }
    }
}
登录后复制

此更新的代码将启动 DOS 命令 shell,通过输入“mysql --user=root --password=sa casemanager”切换到 MySQL 命令 shell,执行你想要的MySQL查询,最后输入“exit”退出MySQL shell。

通过使用StreamWriter写入shell进程的标准输入,你可以有效地执行多个命令在单个流程中,简化流程执行并提高整体性能。

以上是如何在单个 .NET 进程中执行多个命令而不创建新进程?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板