我在屏幕(-x)终端内运行的MATLAB会话中使用了nano。我无意中按下了Ctrl-Z,它立即离开了nano,打印出“使用“ fg”返回nano“,但没有显示命令提示符。我键入的任何内容都会出现在屏幕上,但没有任何反应。如果我按Ctrl-Z,^ Z只会打印到屏幕上。有任何想法吗?使用12.04。
nano
MATLAB会话内部运行的,(显然)是问题所在(很抱歉忽略了这一点;我忘记了我在MATLAB中)。jobs
在另一个屏幕中调用不会列出要拉起的任何作业。
我在屏幕(-x)终端内运行的MATLAB会话中使用了nano。我无意中按下了Ctrl-Z,它立即离开了nano,打印出“使用“ fg”返回nano“,但没有显示命令提示符。我键入的任何内容都会出现在屏幕上,但没有任何反应。如果我按Ctrl-Z,^ Z只会打印到屏幕上。有任何想法吗?使用12.04。
nano
MATLAB会话内部运行的,(显然)是问题所在(很抱歉忽略了这一点;我忘记了我在MATLAB中)。jobs
在另一个屏幕中调用不会列出要拉起的任何作业。
Answers:
在注释中,作者说他或她正在nano
从Matlab 运行命令,并且使用CTRL-Z挂起命令后没有任何提示。这可能是Matlab(1)中的错误,如果它不能解决问题,它应该不允许CTRL-Z到达nano。
问题在于shell命令fg
(以及bg
,和jobs
)仅适用于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信号的奇怪交互。
如果这是唯一的后台进程%
,Return请先输入,然后再返回nano。
也就是说,fg
应该始终有效。即使您有一份以上的工作,它也应该使您跳回最新的一份工作。
列出你的工作
jobs
把工作放在前台
fg 1
将“ 1”更改为与nano对应的作业号。
nano
在终端上运行?