Как «заморозить» процесс и сохранить его состояние на диск?
Думаю, тем, кто пользовался кнопкой "Save the machine state" в Virtualbox или аналогичными путями отправки в спячку виртуальной машины, вопрос будет понятнее. Такой трюк позволяет выгрузить из памяти всю виртуальную машину и потом восстановить так, что для машины не пройдёт и секунды...
Интересует возможность сделать то же самое только с процессом (или несколькими за раз):
1. Остановить процесс (поставить на паузу)
2. Сохранить его состояние на диск (используемые данные в ОЗУ, дескрипторы файлов и т.д.)
3. Выгрузить процесс
4. По прошествии какого-то времени, загрузить все эти данные обратно в память и снять процесс с паузы
Подобный трюк проделывает режим гибернации в современных ОС, но он опять же сохраняет состояние всей системы, да и выключает питание.
Если есть какие-то коробочные варианты (программы), куски кода на любых языках, знания о подходящих функциях в ядре ОС - напишите, пожалуйста, здесь!
Желательно для Linux, но не откажусь и от Windows решений... Mac OS мне не пригодиться, но может быть кому-нибудь будут нужны :)
UPD.
Перечитал вопрос и стоит добавить, что шиндошс такой роскоши не позволяет. То есть, с оговорками, но вот здесь моё замечание @begemot_sun актуальнее некуда - слишком дорого.