How do I get back to nano after hitting Ctrl-Z if I have no shell prompt (in Matlab session)

If it's the only backgrounded process entering % followed by Return should return you to nano.

That said, fg should always work. Even when you have more than one job, it should bounce you back to the newest one.


List your jobs

jobs

Bring a job to the foreground

fg 1

change the "1" to the job number corresponding to nano.

See also https://unix.stackexchange.com/questions/30228/basic-job-control-stop-a-job-add-a-job-onto-the-stack-and-fg


In the comments the author says that he or she is running the nano command from Matlab, and that there is no prompt whatsoever after suspending it with CTRL-Z. This is probably a bug in Matlab(1) which should not allow a CTRL-Z arrive to nano if it can't cope with it...

The problem is that the shell command fg (and bg, and jobs) works only with direct children of the shell. But you can continue a stopped process from another shell, although this will not guarantee that the status of the screen is correctly managed:

  1. in another terminal window, find the nano process:

    % 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. Notice that it is stopped (state T)

  3. Continue it with

    kill -CONT 10600 
    

...and hope it works (can mess up the terminal greatly). You can also trying a

killall -CONT nano 

that way the CONT signal is sent to all the "nano" processes (shouldn't be a problem though).


Footnotes:

(1) I tried with octave: EDITOR=nano octave and then edit file in octave. Pressing CTRL-Z messes the things up quite well... so maybe it's not Matlab but a strange interaction on who receive and manage the TSTP signal.