C#-告知进程.开始等待,直到上一个实例完成
本文关键字:上一个 实例 进程 开始 等待 C#- | 更新日期: 2023-09-27 17:59:20
我当前正在调用一个从文本文件导入参数的进程
虽然当读取文本文件的一行时,它可以正常工作,但文本文件的第二行会直接执行。有没有办法告诉Process.开始等待,直到上一个命令完成?
static void Main(string[] args)
{
foreach (string exename in System.IO.File.ReadAllLines("test.txt"))
{
Process.Start("test.exe", "'"" + exename + "'"");
}
}
static void Main(string[] args)
{
foreach (string exename in System.IO.File.ReadAllLines("test.txt"))
{
Process.Start("test.exe", "'"" + exename + "'"").WaitForExit();
}
}
在MSDN上记录。我通常在谷歌上搜索"MSDN [class/method/property]
"。在这种情况下,你可以在谷歌上搜索"msdn process class
",你就会找到这个方法。
我认为您需要在语句末尾添加一个.WWaitForExit()命令,如下所示:
Process.Start("test.exe", "'"" + exename + "'"").WaitForExit();
然而,这将是一个无限的等待(通常是一件坏事)。如果你想添加一个超时,你可以使用重载的方法,如下所示:
Process.Start("test.exe", "'"" + exename + "'"").WaitForExit(30000);
30000表示30秒(int为毫秒)。
您可以查看您刚刚启动的进程是否通过GetProcesses找到,如果在启动第二个进程之前没有在固定间隔后重试