Как мне вернуться к nano после нажатия Ctrl-Z, если у меня нет приглашения оболочки (в сеансе Matlab)
Я использую nano в сеансе MATLAB, который выполняется внутри экранного (-x) терминала. Я случайно нажал Ctrl-Z, и он сразу же выходит из nano, печатает "Использовать" fg ", чтобы вернуться в nano", но не показывает командную строку. Все, что я печатаю, появляется на экране, но ничего не отвечает. Если я нажимаю Ctrl-Z, ^Z просто печатает на экран. Есть идеи? Использование 12.04.
4 ответа
В комментариях автор говорит, что он или она управляет nano команда от Matlab, и что после его приостановки с помощью CTRL-Z не появляется никаких подсказок. Это, вероятно, ошибка в Matlab(1), которая не должна позволять CTRL-Z прибыть в nano, если он не может справиться с этим...
Проблема в том, что команда оболочки fg (а также bg, а также jobs) работает только с прямыми потомками оболочки. Но вы можете продолжить остановленный процесс из другой оболочки, хотя это не гарантирует правильного управления состоянием экрана:
в другом окне терминала найдите
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Обратите внимание, что он остановлен (состояние
T)Продолжайте это с
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
В Lubuntu я просто использую F12ключ ... и окно с терминалом возвращается.