GNU/Linux >> Linux Esercitazione >  >> Linux

Posso recuperare un nanoprocesso da un terminale precedente?

Leggendo la pagina man di nano e facendo qualche ricerca, ho trovato:

In alcuni casi nano proverà a scaricare il buffer in un file di emergenza. Ciò accadrà principalmente se nano riceve un SIGHUP o SIGTERM o esaurisce la memoria. Scriverà il buffer in un file chiamato nano.save se il buffer non ha già un nome, o aggiungerà un suffisso ".save" al nome del file corrente. Se un file di emergenza con quel nome esiste già nella directory corrente, aggiungerà ".save" più un numero (ad es. ".save.1") al nome del file corrente per renderlo univoco. In modalità multibuffer, nano scriverà tutti i buffer aperti alle rispettive cartelle di emergenza.

Quindi forse dovresti già avere un tale file che ti aspetta, da qualche parte sul tuo sistema.

find /likely/path -mtime -1 -print | egrep -i '\.save$|\.save\.[1-90]*$'

(/probabilmente/percorso è prima il luogo da cui hai lanciato nano, poi altri posti simili "possibili", quindi in ultima istanza:/ (ovviamente, lancia l'ultimo comando find come root o aspettati un sacco di output di errore, che potresti reindirizzare usando il reindirizzamento STDERR della tua shell)

-mtime -1 dice "fino a 1 giorno fa", potresti voler cambiare il valore in -2 o -3, a seconda di quando hai modificato il file e quando lo hai letto.

Nel caso in cui nano non abbia ancora scritto un file di questo tipo, puoi provare a inviargli un segnale SIGHUP per costringerlo a farlo (vedi:http://en.wikipedia.org/wiki/Unix_signal#POSIX_signals )

E poi, esegui di nuovo find per cercare quel file...

E in ultima, ultima risorsa, potresti giocare con il grepping attraverso /proc/kmem per parti del testo che stai cercando, ma questo richiederà alcune precauzioni per disinfettare ciò che ti mostra e potrebbe non essere banale. oppure aggiungilo prima in un file (grande quanto la tua memoria).


Quindi, questa potrebbe non essere un'opzione per te, ma ho appena inviato un comando di riavvio alla scatola. Quando è tornato online, Violafile.py.save è stato inserito nella directory.


Linux
  1. Come recuperare un lavoro in background da una shell precedente??

  2. Come posso recuperare/ripristinare i file da una partizione ext4?

  3. Come seleziono tutto il testo da un file con nano?

  4. Come recuperare il file cancellato se è ancora aperto da qualche processo?

  5. Il cat-ing di un file può rappresentare un potenziale rischio per la sicurezza?

La riga di comando di Linux può portare divertimento da lontano

Gestione file Linux dal terminale

Cercapersone terminali

Salva l'output di un comando dal terminale Debian in un file

Come posso ottenere la lunghezza di un file video dalla console?

Come posso ottenere un binario da un file .py