Метод WaitForExit
Вызывать метод можно только у
запущенного процесса. У
new Process(), который не
стартовали, бросают
InvalidOperationException.
Таймаут и чужие процессы в
примерах не используют.
Синтаксис
process.WaitForExit();
Пример
Давайте вызвать WaitForExit
у незапущенного процесса:
using System;
using System.Diagnostics;
class Program
{
static void Main()
{
Process process = new Process();
try
{
process.WaitForExit();
}
catch (InvalidOperationException)
{
Console.WriteLine("fail");
}
}
}
Результат выполнения кода:
"fail"
Пример
Давайте создать второй объект и снова проверить ошибку:
using System;
using System.Diagnostics;
class Program
{
static void Main()
{
Process process = new Process();
process.StartInfo.FileName = "abcde";
try
{
process.WaitForExit();
}
catch (InvalidOperationException)
{
Console.WriteLine("fail");
}
}
}
Результат выполнения кода:
"fail"
Пример
Давайте убедиться, что процесс ещё не запущен:
using System;
using System.Diagnostics;
class Program
{
static void Main()
{
Process process = new Process();
bool res = process.StartInfo != null;
Console.WriteLine(res);
}
}
Результат выполнения кода:
True