Я пишу программное обеспечение для тестирования, которое получает исходный код, компилирует его на сервере, выполняет его, пересылает ввод из базы данных, улавливает вывод и сравнивает его с кодом в базе данных, чтобы убедиться, что он правильный. Проблема в том, что исходный код может быть любым (он написан на c / c ++ и скомпилирован с помощью Visual Studio cl), поэтому мне нужно как-то предотвратить злонамеренных пользователей. Я автоматически убиваю эти процессы, если они работают дольше определенного времени или используют больше памяти, чем разрешено.
Вопрос в том, могу ли я разрешить этим процессам только писать и читать из стандартных потоков ввода / вывода и запрещать любые другие права доступа в Windows.
Прошу прощения за мой английский.
Заранее спасибо.