>백엔드 개발 >C++ >새 프로세스를 만들지 않고 단일 .NET 프로세스에서 여러 명령을 실행하는 방법은 무엇입니까?

새 프로세스를 만들지 않고 단일 .NET 프로세스에서 여러 명령을 실행하는 방법은 무엇입니까?

DDD
DDD원래의
2025-01-04 02:45:40873검색

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 명령 셸을 시작하고 "mysql --user=root --password=sa casemanager"를 입력하여 MySQL 명령 셸로 전환합니다. 원하는 MySQL 쿼리를 실행하고 마지막으로 "exit"를 입력하여 MySQL 쉘을 종료합니다.

StreamWriter를 사용하여 쉘 프로세스의 표준 입력에 기록하면 단일 프로세스 내에서 여러 명령을 효과적으로 실행하여 프로세스 실행을 간소화하고 전반적인 성능을 향상시킬 수 있습니다.

위 내용은 새 프로세스를 만들지 않고 단일 .NET 프로세스에서 여러 명령을 실행하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.