Подтвердить что ты не робот

Сохранение всего состояния процесса на диске и восстановление его позже? (В Linux/Unix)

Я хотел бы знать: есть ли системный вызов, библиотека, модуль ядра или инструмент командной строки, который я могу использовать для хранения полного состояния запущенной программы на диске?

То есть: я хотел бы полностью сбросить память, макет страницы, стек, регистры, потоки и файловые дескрипторы, которые в настоящее время используется файлом на жестком диске, и иметь возможность восстановить его позже, точно так же, как эмулятор "savestate" или "моментальный снимок виртуальной машины".

Я также хотел бы, если возможно, иметь несколько "резервных копий" состояния программы, поэтому я могу вернуться к предыдущей точке выполнения, если программа по какой-то причине умирает.

Возможно ли это?

4b9b3361

Ответ 2

Вы должны взглянуть на проект BLCR из Berkeley Lab. Это широко используется несколькими реализациями MPI для обеспечения Возможности Checkpoint/Restart для параллельных приложений.

Ответ 3

A core dump в основном это, поэтому да, это должно быть возможно.

То, что вы действительно хотите, это способ re сохранить этот дамп в качестве запущенной программы. Это может быть сложнее.