Нет времени объяснять, просто не закрывай
firefox!
Не раз такое уже случалось, что пишешь вдумчивый пост или комментарий на сайте, но случайно жмёшь назад, и текст пропадает. Или отправляешь, а он пропадает из-за сбоя или удаляется. Остаётся рвать на себе волосы, и заново выуживать текст из головы. Так вот сегодня мне это надоело и я пошёл гуглить, что можно сделать в таком случае.
Оказалось, что можно. Надо сделать дамп памяти процесса браузера, прогнать его grep, и сохранить найденное в файл. Решения есть для всех систем, но в силу своего интереса к linux, приведу решение только под него. Остальные можно найти по ссылке в конце записи. Убедитесь, что у вас установлен пакет gdb (GNU Debugger). Вам понадобится утилита gcore, которая может делать дамп оперативной памяти, которую использует запущенный процесс с определённым PID. Установка в Manjaro:
Узнаём PID процесса. Надеюсь браузер вы не закрыли:
Теперь запустите gcore, чтобы создать дамп памяти для этого процесса:
Во избежание глюков я сразу запускал от sudo. Плюс надо сперва выбрать каталог с достаточным свободным местом - жирнолис очень прожорлив по памяти.
В текущем каталоге при запуске gcore появляется файл core.номер_процесса (например, core.20727). Кстати, учитывайте, что размер файла может быть очень большим. Например, у меня он сейчас получился 934 MiB.
Теперь попробуйте с помощью grep проверить, есть ли в дампе нужные данные. Например, если в тексте вы упоминали слово копираст, то: grep 'копираст' core.20727
В случае успеха можно смело вырезать фрагмент в текстовой файл: grep -B 20 -A 20 -a 'копираст' core.20727 > /path/to
В данном случае вы сообщаете grep, что с данным двоичным файлом требуется работать как с текстом, а также что для каждого совпадения требуется вывести 20 предшествующих и 20 последующих строк.
Теперь можно просмотреть найденное:
- Как за одну минуту восстановить текст после неудачной отправки веб-формы
https://habr.com/ru/post/169193/
|