Come posso tornare a nano dopo aver premuto Ctrl-Z se non ho un prompt della shell (nella sessione Matlab)


31

Sto usando nano all'interno di una sessione MATLAB che è in esecuzione all'interno di un terminale di schermo (-x). Ho accidentalmente premuto Ctrl-Z e lascia immediatamente nano, stampa "Usa" fg "per tornare a nano", ma non mostra un prompt dei comandi. Qualunque cosa io digiti appare sullo schermo ma non risponde nulla. Se premo Ctrl-Z, ^ Z stampa solo sullo schermo. Qualche idea? Utilizzando 12.04.


Dovresti avere un prompt dopo aver premuto ctrl-z. Ho ... sembra che questo non accada nel tuo caso. Come corri esattamente nanonel terminal?
Rmano,

Ho appena realizzato che non sto usando davvero 12.04. In effetti, sto correndo nanodall'interno di una sessione MATLAB, che è (ovviamente) il problema (mi dispiace non averlo menzionato; mi ero dimenticato di essere in MATLAB). La chiamata jobsin un'altra schermata non elenca alcun lavoro da richiamare.
user282315,

Risposte:


11

Nei commenti l'autore afferma che sta eseguendo il nanocomando da Matlab e che non c'è nessun prompt dopo averlo sospeso con CTRL-Z. Questo è probabilmente un bug in Matlab (1) che non dovrebbe consentire a un CTRL-Z di arrivare a nano se non può farcela ...

Il problema è che il comando shell fg(e bg, e jobs) funziona solo con i figli diretti della shell. Ma puoi continuare un processo interrotto da un'altra shell, sebbene ciò non garantisca che lo stato dello schermo sia gestito correttamente:

  1. in un'altra finestra del terminale, trova il nanoprocesso:

    % 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. Si noti che è stato arrestato (stato T)

  3. Continua con

    kill -CONT 10600 
    

... e spero che funzioni (può rovinare molto il terminale). Puoi anche provare a

killall -CONT nano 

in questo modo il CONTsegnale viene inviato a tutti i processi "nano" (non dovrebbe essere un problema però).


Note:

(1) Ho provato con octave: EDITOR=nano octavee poi edit filein ottava. Premendo CTRL-Z si incasina abbastanza bene le cose ... quindi forse non è Matlab ma una strana interazione su chi riceve e gestisce il segnale TSTP.


Fantastico, ce l'ha fatta. Questo problema mi ha disturbato per un po '! Registrazione di un bug con TheMathWorks. Grazie!
user282315,

1
Purtroppo, nuovo account, nessuna reputazione da votare (ancora).
user282315,

54

Se è l'unico processo in background inserito %seguito da Returndovrebbe tornare a nano.

Detto questo, fgdovrebbe sempre funzionare. Anche quando hai più di un lavoro, dovrebbe riportarti al più recente.


5
imo, questa è la vera risposta, fa ciò che l'operatore chiede, riapre le finestre Nano chiuse (ctrl + z).
DonSeba,

trucchi fantastici qui.
Pietrovismara,

Anche questo mi aiuta.
Arefe,

Questa dovrebbe essere la risposta giusta.
user2180794,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.