Создание и управление процессом C#
Eсть у меня одна консольная программка (написана на C#), выполняющая роль сервера (далее просто сервер). В ней пользователь может выполнять определённые команды. Модифицировать я её не хочу, ибо разработчик регулярно выпускает важные обновления. Поэтому я и решил написать отдельную программу, которая будет выполнять некоторые действия и запускать сервер (не важно, в отдельном ли окне, или нет). Прошу хотя бы рассказать, что мне нужно сделать, что бы выполнить все пункты ниже.
Задачи
- Пользователь должен иметь полный доступ над запустившимся сервером: писать команды, видеть весь вывод и тд.
- Моя программа должна обрабатывать весь пользовательский ввод (команды) и выполнять свои действия. Например при написании команды "off", выключающая сервер - программа выполняет определенный код, ожидает завершение процесса сервера и выключается.
- Программа должна сама, при определенном условии, отправлять команду на сервер. Например выключать сервер не убийством процесса, а написанием всё той же команды "off".
- Выполнять действия при принудительном завершении сервера (после ошибки, например).
То, что уже есть
Я нашёл класс "Process", научился создавать процессы и на этом всё...
var info = new ProcessStartInfo()
{
FileName = path,
CreateNoWindow = false,
UseShellExecute = false,
RedirectStandardInput = true,
RedirectStandardOutput = true
};
var process = Process.Start(info);