Вы можете выйти из Matlab с помощью quit
или exit
. В основном они одинаковы, за исключением того, что с помощью exit
вы можете указать код выхода. Если вы готовы злоупотреблять кодом выхода, вы можете сделать что-то вроде
matlab -nodesktop -nosplash -nodisplay -r "exit(times(2, 7));" > /dev/null; echo $?
Если вы собираетесь это сделать, имейте в виду, что bash может расстроиться из-за не-нулевых кодов выхода, и вам может потребоваться некоторая обработка ошибок, чтобы убедиться, что ваша функция возвращает код ошибки, который может обработать выход.
Другой вариант — захватить выходные данные Matlab, а затем проанализировать то, что вы хотите
matlab -nodesktop -nosplash -nodisplay -r "format compact; Answer=times(2, 7), exit" | sed -ne '/Answer =/{n;p}' | sed -e 's/ *//g'
Оказывается, мне нужно было повнимательнее изучить встроенные опции для gunicorn. Простая отправка сигнала HUP процессу вешает мастер,отправляет лебедку для создания новых воркеров, затем завершает работу старых воркеров и повторно подключает мастер.