Posso salvar um arquivo da RAM?

3

Para ser mais específico, veja a situação.

Eu estava trabalhando no MyPaint a partir de um documento em branco e, depois de algumas horas durante as quais eu não salvei nada (é claro ...) o programa congelou. Eu não fechei isso.

No diretório autosave MyPaint, o arquivo está corrompido (apenas 1,4 ko).

Então, eu queria saber se eu posso despejar o arquivo da RAM (o processo ainda está em execução) e como.

Obrigado.

    
por Hyogapag 29.05.2014 / 17:43

2 respostas

2

Ligeiramente melhor do que poupar memória, é que o programa salve o seu trabalho para você.

Primeiro, obtenha o pid (ID do processo) do programa em execução. Isso pode ser feito a partir de uma linha de comando com o comando ps :

$ ps x
  PID TTY      STAT   TIME COMMAND
(... lots of usual programs omitted)
 3039 ?        Sl    40:59 /usr/lib/someprogram
...
30263 pts/8    R+     0:00 ps x

Digamos que eu queira acionar someprogram para limpar e salvar os arquivos, supondo que seja um programa de nível profissional (experimente cada um em sequência até que um funcione):

$ kill -HUP 3039        # trigger the program's "terminal disconnect by hang up"
                        #  logic (which might save the file)
$ kill -INT 3039        # Interrupt
$ kill -STOP 3039       # Stop
$ kill -CONT 3039       # Continue

Uma abordagem mais compreensiva seria ter a memória do programa gravada em um arquivo principal. Então, pelo menos, alguém familiarizado com os internos do MyPaint poderia carregá-lo no depurador e reconstruir os dados para uso subsequente. Isso é "difícil" e envolverá horas a dias de atenção especializada.

Para despejar o núcleo, tente estes. Os dumps principais podem não estar ativados na configuração do seu sistema.

$ kill -ABRT 3039       # abort
$ kill -QUIT 3039       # quit
$ kill -SEGV 3039       # illegal memory access
$ kill -TRAP 3039
    
por wallyk 29.05.2014 / 19:31
1

você pode saber que o RAM não salva nenhum arquivo. então você não poderá recuperar nada disso. Eu recomendo começar a refazer e salvar frequentemente na próxima vez (ou configurar um script para salvar automaticamente para você). lamento muito, mas não há mais nada que você possa fazer para recuperá-lo (até onde eu sei).

    
por user286134 29.05.2014 / 19:01

Tags