Я выполняю matlab на 48 виртуальных машинах и хотел бы автоматизировать его. Я ssh в машины затем использую matlab -r matlab_command > outfile.txt &
заставить процесс работать в фоновом режиме и хорошо работать, когда я выхожу из системы. Единственная проблема состоит в том что когда я jobs
мой процесс останавливается и не запустится пока я fg
^z bg
. Существует ли флаг matlab так, чтобы я мог работать, он в фоновом режиме, не имея его останавливается?
Спасибо, Mike
Для разъяснения это - порядок команд, которые не работают
ssh server
matlab -r matlab_command > outfile.txt &
jobs
[1] Остановленный
Зафиксировать это я
fg
^z
bg
logout
и это теперь работает
Используйте команду nohup в UNIX, чтобы предотвратить остановку MATLAB, когда вы выходите из системы.
nohup matlab -nodisplay -nosplash -r matlab_command > outfile.txt &
И не забудьте включить exit;
в конец скрипта matlab_command.
ОБНОВЛЕНИЕ:
Попробуйте следующее решение: Можно ли запустить MATLAB в фоновом режиме под UNIX?
Настоящее чистое решение вашей проблемы - использовать Экран GNU . Тогда вы не потеряете сеанс Matlab и всегда сможете вернуться в командную строку Matlab. Очень полезно, если кто-то ошибся с вашим кодом Matlab, и вам нужно немного отладить.
Просто запустите ' screen
' (после того, как вы установили пакет, включенный во все основные дистрибутивы). У вас будет типичное приглашение, но внутри постоянного виртуального терминала. Запустите свой Matlab как обычно, опустите любой фон. Затем нажмите CTRL + A, D (сначала CTRL + A, затем d). Вы будете вне экрана. Вы можете выйти. Если вы хотите вернуться к сеансу экрана, выполните screen -r
. Если вы хотите, вы также можете напрямую запустить screen matlab [...]
в первую очередь. Это приведет к тому, что ваш виртуальный сеанс также будет отключен при выходе из Matlab.