Posso recuperar um processo nano de um terminal anterior?

5

Meu sistema travou enquanto eu estava em uma nano sessão com alterações não salvas.

Quando eu efetuo login novamente via SSH, vejo o processo nano ainda em execução quando faço um ps .

davidparks21@devdb1:/opt/frugg_batch$ ps -ef | grep nano
1001     31714 29481  0 18:32 pts/0    00:00:00 nano frugg_batch_processing
1001     31905 31759  0 19:16 pts/1    00:00:00 grep --color=auto nano
davidparks21@devdb1:/opt/frugg_batch$

Existe uma maneira que eu possa trazer o processo nano de volta ao meu controle no novo terminal?

Ou alguma maneira de forçá-lo a salvar remotamente (do meu novo terminal)?

    
por davidparks21 30.11.2012 / 04:19

2 respostas

6

Lendo a página man nano e algumas pesquisas, encontrei:

In some cases nano will try to dump the buffer into an emergency file. This will happen mainly if nano receives a SIGHUP or SIGTERM or runs out of memory. It will write the buffer into a file named nano.save if the buffer didn't have a name already, or will add a ".save" suffix to the current filename. If an emergency file with that name already exists in the current directory, it will add ".save" plus a number (e.g. ".save.1") to the current filename in order to make it unique. In multibuffer mode, nano will write all the open buffers to their respective emergency files.

Então, talvez você tenha um arquivo assim esperando por você, em algum lugar do seu sistema.

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

(/ provável / caminho sendo o primeiro lugar onde você iniciou o nano, depois outros lugares "possíveis", então em último recurso: / (claro, inicie o último comando find como root ou espere muito saída de erro, que você poderia redirecionar usando o redirecionamento STDERR do seu shell)

-mtime -1 diz "até 1 dia de idade", você pode querer alterar o valor para -2 ou -3, dependendo de quando você editou o arquivo e quando você leu isso.

No caso do nano ainda não ter escrito tal arquivo, você poderia tentar enviar um sinal SIGHUP para forçá-lo a fazê-lo (veja: link )

E, em seguida, execute a localização novamente para procurar esse arquivo ...

E em último, último recurso, você poderia jogar com o / proc / kmem por partes do texto que está procurando, mas isso exigirá algumas precauções para higienizar o que ele mostra, e pode não ser trivial. ou dd primeiro em um arquivo (tão grande quanto a sua memória).

    
por 30.11.2012 / 19:07
2

Então, isso pode não ser uma opção para você, mas acabei de enviar um comando de reinicialização para a caixa. Quando voltou online, o arquivo Viola-file.py.save foi colocado no diretório.

    
por 20.03.2017 / 18:28