У меня есть две программы (язык не имеет значения, скажем, C ++), и мне нужно запустить и управлять связью между ними (с помощью сервера, написанного на Java), эта связь работает следующим образом:
На каждом шаге программа # 1 получает входные данные от программы # 2, и после некоторой обработки она создает выходные данные и передает их программе # 2, поскольку ее входные данные и программа # 2 делают то же самое.После нескольких шагов (может быть около 10 шагов) это общение будет законченомежду этими шагами нет задержки, и они работают немедленно.
Я провел их через java.lang.Process
и для обработки ввода и вывода я использую InputStream
и OutputStream
.Проблема в том, что я не могу контролировать поведение этих программ, поэтому они могут повредить мой сервер , преднамеренно или непреднамеренно, например, израсходовать всю память или разбить весь сервер.
Как я могусправиться с этим поведением и защитить мой сервер от сбоев?Есть ли лучший способ сделать это?