Как остановить сторонний процесс - C#
Формулировка задачи:
Здравствуйте. Есть такая проблема. Надо иногда перезапускать консольное приложение, к коду которого я не имею доступа. Как запускать я знаю, можете ли подсказать как из своей программы написать в другой консоли stop + enter и если она не закрылась через 30 сек убить процесс?
Решение задачи: «Как остановить сторонний процесс»
textual
Листинг программы
ProcessStartInfo pcf = new ProcessStartInfo(); // создаем экземпляр класса
pcf.RedirectStandardInput = true; // переадресовываем поток ввода
pcf.RedirectStandardOutput = true; // переадресовываем потов вывода
pcf.UseShellExecute = false; // обязательное условие
pcf.FileName = @"C:\*****"; // путь
Process pc = new Process(); // создаем экземпляр класса процесса
pc.StartInfo = pcf; // присваиваем информацию
pc.Start(); // запускаем
StreamWriter sw = pc.StandardInput; // классы для записи и чтения
StreamReader sr = pc.StandardOutput;
System.Threading.Thread.Sleep(30 * 1000); // ждем 30 секунд
sw.WriteLine("i will kill u mathe f*cker!!!"); // записываем строку
Console.WriteLine("Answer{0}", sr.ReadLine());//читаем ответ
pc.WaitForExit();// ждем пока закроется