Пишу что-то вроде софтины для сервера, позволяющей удобно поднимать разные bat
-ники ("сервера") из одного места, сохранять их настройки и аргументы и т.д.
Юзаю c#
+ wpf
, вывожу stdin
и stderr
в модифицированный RichTextBox
. Процессами управляю с помощью Job Object
-ов.
И вот столкнулся с проблемой. Если где-то запущенный сервер упирается в бесконечный цикл вывода в консоль (а эти ошибки у программистов иногда бывают), то все виснет намертво.
Мало того, что дочерний процесс сам грузит систему, так еще и вывод в окошко програмки сильно замедляет работу.
В случае обычной cmd.exe
достаточно было закрыть окно. Даже если в неё улетает куча вывода, все равно она вполне отзывчива к закрытию "по крестику". То ли буфер консоли работает очень быстро, то ли она как-то ограничивает ресурсы, потребляемые запущенным процессом.
Так вот. Можно ли как-то ограничить ресурсы дочернего процесса, дабы не происходило такого? Или все, что я могу сделать - лишь попытаться ускорить вывод сообщений в консоль/отключать их вывод, когда их слишком много?
Видел функционал, похожий на нужный, когда разбирался с Job Object
-ами, однако не знаю, правильный ли это путь.
Честно, не знаю, какой код сюда можно добавить, так что говорите - приложу все, что будет нужно.
Фрилансер или Digital-агентство - Как сделать правильный выбор?
Мы узнаем количество полей и их значение в классе следующим образом
Есть данные, записанные в массив или генерируемые на летуКак можно получить их случайную перестановку в массиве или другом контейнере?