Восстановление энергии, работающей на экранной сессии за катастрофическим отказом Xorg

Недавно моя система становится нестабильной из-за таинственной утечки памяти. В результате у меня есть процесс Xorg, часто уничтожаемый с Out of memory запись в /var/log/syslog.

Сохранить мой vim сессия в случае катастрофических отказов я выполняю его в screen.

К сожалению, после того, как Xorg уничтожается, я неспособен к восстановлению vim сессия. Повторно прикрепленная оболочка полностью смешана. До сих пор каждый раз я пытался выйти vim путем издания :qa команда в слепом. Затем с каждым нажатием Входят, я получаю подсказку в той же строке.

Я подозреваю vim не работает (должны проверить его после следующего катастрофического отказа), с тех пор:

  1. несмотря на я вышел :qa команда, новая vim сессия предупреждает меня о присутствии файла подкачки,
  2. Я вижу :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 в возобновленном экранном окне.

0
задан 16 February 2017 в 13:13

1 ответ

Если 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 для отправки кодов клавиши в него, как описано в другое сообщение мной.

1
ответ дан 27 September 2019 в 11:52

Другие вопросы по тегам:

Похожие вопросы: