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

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

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

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

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

Ответы [ 3 ]

4 голосов
/ 18 апреля 2011

Что-то вроде это ? Вы также можете проверить страницу проверки в Википедии .

2 голосов
/ 13 декабря 2011

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

1 голос
/ 18 апреля 2011

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

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

...