Недавно моя система становится нестабильной из-за таинственной утечки памяти. В результате у меня есть процесс Xorg, часто уничтожаемый с Out of memory
запись в /var/log/syslog
.
Сохранить мой vim
сессия в случае катастрофических отказов я выполняю его в screen
.
К сожалению, после того, как Xorg уничтожается, я неспособен к восстановлению vim
сессия. Повторно прикрепленная оболочка полностью смешана. До сих пор каждый раз я пытался выйти vim
путем издания :qa
команда в слепом. Затем с каждым нажатием Входят, я получаю подсказку в той же строке.
Я подозреваю vim
не работает (должны проверить его после следующего катастрофического отказа), с тех пор:
:qa
команда, новая vim
сессия предупреждает меня о присутствии файла подкачки,:qa
команда в моем .bash_history
файл.Восстановление после завершения окна эмулятора терминала хорошо работает.
Что (но фиксация утечки памяти) может я делать для сохранения моего vim
сессия?
Версии: vim
- 7.4.52, screen
- 4.01.00devel, Ubuntu - 14.04.5
[Править] vim
окончательно не бежит за катастрофическим отказом - сегодня я нашел сообщение ICE default IO error handler doing an exit(), pid = 12810, errno = 11
в возобновленном экранном окне.
Если Vim жалуется на файл подкачки при открытии файла, существует два случая: или это от другого в настоящее время рабочего процесса Vim, или это от разрушенного процесса Vim.
, Если это от рабочего процесса, сообщение будет похоже так:
E325: ATTENTION
Found a swap file by the name ".foo.swp"
owned by: muru dated: Thu Feb 16 15:59:59 2017
file name: ~muru/foo
modified: no
user name: muru host name: localhost
process ID: 870 (still running)
While opening file "foo"
Примечание, как это говорит (still running)
рядом с идентификатором процесса. Ошибка из-за файла подкачки разрушенного Vim не будет иметь этого (если не по совпадению, другой в настоящее время рабочий процесс получил тот же самый PID). Если это от разрушенного Vim, можно принять решение восстановиться с файла подкачки и позже удалить его.
, Если это от в настоящее время рабочего процесса Vim, можно уничтожить его (файл подкачки позволит Вам восстановиться), или примите решение корректно выйти, если Вы не хотите файла подкачки, лежащего вокруг. Для последней опции, если Вы не имеете screen
или некоторый такой способ взаимодействовать с процессом Vim, можно использовать Python для отправки кодов клавиши в него, как описано в другое сообщение мной.