В настоящее время я настраиваю и запускаю ряд команд с помощью команд os.fork и os.system.Я устанавливаю время и ограничения памяти через resource.setrlimit, и это, кажется, работает нормально.Тем не менее, каждая программа имеет свой собственный способ сбоя из-за ограничения памяти - программа на python выдает MemoryError, программа на c ++ может иметь неправильное размещение и т. Д.
Я хотел бы знать, как яможет определить, когда команда os.system завершила выполнение из-за ограничения лимита памяти (как предполагалось по тайм-ауту или некоторому другому способу завершения).Я безуспешно пробовал следующее:
try:
status = os.system(command)
except MemoryError:
# Never actually makes it here...
Редактировать : Я действительно сейчас занимаюсь только системами Unix.