Я пытаюсь запустить пакет сценариев Matlab, и почему-то это не работает. Код просто бездействует и ничего не делает до истечения времени ожидания.
Это минимальный код
import subproces as sub
cod = 'timeout -k 300 400 matlab -nodisplay -nosplash -r test'.split()
proc = sub.run(cod, stdout=sub.PIPE, stderr=sub.PIPE)
Эти строки кода просто выполняются до достижения условия тайм-аута без значений в stdout и stderr ,
Если я копирую эти строки внутри терминала, он работает отлично. (сам скрипт заканчивается «exit», поэтому после завершения он возвращается к терминалу)
Я уже проделал аналогичный процесс с Octave, и он работает без нареканий.
Я пытался использовать модуль python от matlab, но тот, который у меня есть, не совместим с моей текущей версией Python, альтернативой может быть понижение Python, но я не хочу сделайте это.
Требуется условие тайм-аута, потому что некоторые из этих сценариев могут бесконечно l oop. Я проверяю коды студентов.
Редактировать: после обсуждения здесь основным виновником является команда тайм-аута, если ее убрать, скрипт работает.