Как мне вернуться к nano после нажатия Ctrl-Z, если у меня нет приглашения оболочки (в сеансе Matlab)

Я использую nano внутри сеанса MATLAB, который работает внутри терминала (-x). Я случайно ударил Ctrl-Z, и он сразу же покинул nano, печатает «Использовать» fg «, чтобы вернуться к nano», но не отображает командную строку. Все, что я набираю, появляется на экране, но ничего не реагирует. Если я нажму Ctrl-Z, ^ Z просто распечатает на экране. Есть идеи? Использование 12.04.

В комментариях автор говорит, что он или она запускает команду nano из Matlab и что нет никаких подсказок, после того, как она была приостановлена ​​с помощью CTRL-Z. Вероятно, это ошибка в Matlab (1), которая не должна позволять CTRL-Z достигать nano, если она не справляется с этим …

Проблема в том, что команда shell fgbg и jobs ) работает только с прямыми дочерними элементами оболочки. Но вы можете продолжить остановленный процесс из другой оболочки, хотя это не гарантирует правильное управление статусом экрана:

  1. в другом терминальном окне найдите nano процесс:

     % ps ugx | grep nano romano 10600 0.0 0.0 20784 1628 pts/11 T 16:52 0:00 nano prova romano 10653 0.0 0.0 18256 900 pts/11 S+ 16:53 0:00 grep nano 
  2. Обратите внимание, что он остановлен (состояние T )

  3. Продолжайте

     kill -CONT 10600 

… и надеюсь, что это сработает (может сильно испортить терминал). Вы также можете попробовать

 killall -CONT nano 

таким образом, сигнал CONT посылается ко всем «нано» процессам (не должен быть проблемой, хотя).


Примечания:

(1) Я пробовал с octave : EDITOR=nano octave а затем edit file в октаве. Нажатие CTRL-Z очень хорошо разбирается … так что, возможно, это не Matlab, а странное взаимодействие с тем, кто получает и управляет сигналом TSTP.

Если это единственный фоновый процесс, входящий в % за которым следует Return, вы должны вернуть вам nano.

Тем не менее, fg всегда должен работать. Даже когда у вас есть несколько заданий, оно должно отскочить назад к самому новому.

Перечислите свои вакансии

 jobs 

Вывести работу на передний план

 fg 1 

измените «1» на номер задания, соответствующий nano.

См. Также https://unix.stackexchange.com/questions/30228/basic-job-control-stop-a-job-add-a-job-onto-the-stack-and-fg