У меня есть .bat
файл, который запускает appium
сервер (appium
командная строка), и я делаю это через .bat
файл:
var process = new Process();
var startinfo = new ProcessStartInfo("cmd.exe", @"/C c:\tools\start_appium_aerver.bat");
startinfo.RedirectStandardOutput = true;
startinfo.UseShellExecute = false;
process.StartInfo = startinfo;
process.OutputDataReceived += (sender, args) => Console.WriteLine(args.Data); // do whatever processing you need to do in this handler
process.Start();
process.BeginOutputReadLine();
Когда запускается appium
, я хочу узнать, успешно ли запускается сервер, прочитав вывод process
и дождавшись определенной строки:
appium server start listening
В этот момент, когда я нашел эту строку и узнал, что мой сервер разрушается, вместо использования этой команды и подождите несколько секунд:
// Wait until appium server starts
process.WaitForExit(30000);
Я хочу иметь возможность немедленно завершить работу (использование process.WaitForExit
без какого-либо значения - плохая идея, поскольку сервер работает постоянно)
Есть предложения?