我在运行于屏幕 (-x) 终端内的 MATLAB 会话中使用 nano。我不小心按了 Ctrl-Z,它立即退出了 nano,打印出“使用“fg”返回 nano”,但没有显示命令提示符。无论我输入什么,屏幕上都会显示出来,但没有任何反应。如果我按 Ctrl-Z,^Z 只会打印到屏幕上。有什么想法吗?使用 12.04。
答案1
如果它是唯一进入的后台进程,%
则Return应该将您返回到 nano。
也就是说跑步fg
也应该有效。这是shell 内置命令它会将最后一项任务返回到前台。即使您有多项任务,它也会将您返回到最新的任务。
答案2
列出你的工作
jobs
将作业置于前台
fg 1
将“1”改为nano对应的作业编号。
答案3
在评论中,作者说他或她正在nano
从 Matlab 运行命令,并且在使用 CTRL-Z 暂停后没有任何提示。这可能是 Matlab(1) 中的一个错误,如果它无法处理它,它不应该允许 CTRL-Z 到达 nano...
问题是 shell 命令fg
(以及bg
、和jobs
)只适用于 shell 的直接子命令。但是您可以从另一个 shell 继续已停止的进程,尽管这不能保证屏幕状态得到正确管理:
在另一个终端窗口中,找到该
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 信号的问题。
答案4
在 Lubuntu 中,我只需使用F12键...然后带有终端的窗口就会返回。