Могу ли я заставить MATLAB выйти после того, как пользователь нажмет Control-C? - PullRequest
3 голосов
/ 16 октября 2010

Я запускаю MATLAB (версия для командной строки) из сценария оболочки, и я хотел бы, чтобы он сохранил поведение оболочки, когда при нажатии Ctrl - C он завершается.Но вместо этого он хочет сохранить контроль над терминалом, и я (или мои бедные пользователи после меня) должны набрать quit(1), чтобы заставить его выйти и сообщить оболочке, что он вышел из строя.

Вы не можете перехватить Ctrl - C с блоком try / catch ... есть еще идеи?Что-нибудь, что я мог бы сделать со стороны оболочки, чтобы перехватывать нажатия клавиш до того, как они попадут в MATLAB?

onCleanup кажется вариантом, но тогда мне придется превратить весь сценарий в функцию (это ужединамически сгенерированный блок try / catch в файле Makefile).Но если это единственное, что сработает, то я сделаю это ...

Ответы [ 2 ]

1 голос
/ 30 ноября 2011

Использование onCleanup:

Я хотел сделать то же самое, но после прочтения этой темы я успешно использовал onCleanup . Моя проблема заключалась в том, что у меня был сервер в Matlab, который при нажатии CTRL + C продолжал listen входить в порт, на котором он был запущен -> при втором запуске я получаю ошибку bind.

0 голосов
/ 20 апреля 2011

Вы можете попробовать:

stty quit ^C

, но у меня нет matlab для его проверки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...