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.