Jak wrócić do nano po naciśnięciu Ctrl-Z, jeśli nie mam monitu powłoki (w sesji Matlaba)

31

Używam nano w sesji MATLAB, która działa w terminalu ekranowym (-x). Przypadkowo nacisnąłem Ctrl-Z i natychmiast opuszcza nano, drukuje „Użyj„ fg ”, aby powrócić do nano”, ale nie wyświetla wiersza polecenia. Cokolwiek wpisuję, pojawia się na ekranie, ale nic nie odpowiada. Po naciśnięciu Ctrl-Z, ^ Z po prostu drukuje na ekranie. Jakieś pomysły? Korzystanie 12.04.

użytkownik 282315
źródło
Powinieneś otrzymać monit po wciśnięciu Ctrl-Z. Mam ... wydaje się, że tak się nie dzieje w twoim przypadku. Jak dokładnie biegasz nanow terminalu?
Rmano
Właśnie zdałem sobie sprawę, że tak naprawdę nie używam 12.04. W rzeczywistości biegam nanood wewnątrz sesji MATLAB, co jest (oczywiście) problemem (przepraszam, że nie wspomniałem o tym; zapomniałem, że byłem w MATLAB). Wywołanie jobsna innym ekranie nie zawiera żadnych zadań do wyświetlenia.
user282315

Odpowiedzi:

11

W komentarzach autor mówi, że uruchamia nanopolecenie z Matlaba i że nie ma żadnego monitu po zawieszeniu go za pomocą CTRL-Z. Jest to prawdopodobnie błąd w Matlabie (1), który nie powinien pozwalać CTRL-Z dotrzeć do nano, jeśli nie może sobie z tym poradzić ...

Problem polega na tym, że polecenie powłoki fg(i bg, i jobs) działa tylko z bezpośrednimi elementami potomnymi powłoki. Możesz jednak kontynuować zatrzymany proces z innej powłoki, chociaż nie gwarantuje to prawidłowego zarządzania statusem ekranu:

  1. w innym oknie terminala znajdź nanoproces:

    % 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. Zauważ, że jest zatrzymany (stan T)

  3. Kontynuuj za pomocą

    kill -CONT 10600 
    

... i mam nadzieję, że to zadziała (może bardzo zepsuć terminal). Możesz także spróbować

killall -CONT nano 

w ten sposób CONTsygnał jest wysyłany do wszystkich procesów „nano” (nie powinno to jednak stanowić problemu).


Przypisy:

(1) Próbowałem z octave: EDITOR=nano octavea potem edit filew oktawie. Naciśnięcie CTRL-Z dość dobrze psuje sytuację ... więc może to nie Matlab, ale dziwna interakcja na to, kto odbiera i zarządza sygnałem TSTP.

Rmano
źródło
Świetnie, to zrobiło. Ten problem przeszkadzał mi od dłuższego czasu! Rejestrowanie błędu za pomocą TheMathWorks. Dzięki!
user282315
1
Niestety, nowe konto, brak reputacji do głosowania (jeszcze).
user282315
54

Jeśli jest to jedyny proces w tle, wejście, %a następnie Returnpowrót do nano.

To powiedziawszy, fgpowinno zawsze działać. Nawet jeśli masz więcej niż jedną pracę, powinna ona powrócić do najnowszej.

Oli
źródło
5
imo, to jest prawdziwa odpowiedź, robi to, o co pyta op, ponownie otwiera zamknięte (ctrl + z) okna Nano.
DonSeba,
fajne sztuczki tutaj.
pietrovismara
To mi też pomaga.
Arefe
To powinna być właściwa odpowiedź.
user2180794