Чтобы быть более конкретным, вот ситуация.
Я работал над MyPaint из чистого документа и через несколько часов, в течение которых я ничего не сохранял (конечно ...), программа зависла. Я не закрыл его.
В каталоге автосохранения MyPaint файл поврежден (только 1,4 ko).
Итак, мне было интересно, могу ли я вывести файл из ОЗУ (процесс все еще выполняется) и как.
Спасибо.
Немного лучше, чем сохранение памяти должен был бы иметь программу, сохраняют Вашу работу для Вас.
Первый получают изодромное с предварением (идентификатор процесса) под управлением программы. Это может быть сделано из командной строки с эти 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
Скажем, я хотел инициировать someprogram
, чтобы вымыться и сохранить файлы, предполагая, что это - программа профессионального уровня (попробуйте каждого в последовательности, пока каждый не работает):
$ 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
А more-grasping-at-straws подход нужно было бы записать память программы в базовый файл. Тогда, по крайней мере, кто-то знакомый с внутренностями MyPaint мог загрузить его в отладчик и восстановить данные для последующего использования. Это "твердо", хотя и включит часы ко дням опытного внимания.
Для дампа ядра попробуйте их. Дампы ядра не могли бы быть включены в конфигурации Вашей системы.
$ kill -ABRT 3039 # abort
$ kill -QUIT 3039 # quit
$ kill -SEGV 3039 # illegal memory access
$ kill -TRAP 3039
можно знать, что поршень не сохранил файлов. так Вы привычка быть в состоянии восстановить что-либо с него. я reccomend, чтобы начать восстановить его и экономить frequentley следующий раз (или устанавливать сценарий для автоматического сохранения для Вас). Я очень сожалею, но нет ничего больше, что можно сделать для восстановления его (насколько я знаю).