On Sat, 15 Dec 2007, Maksim A. Boyko wrote:

Добрый вечер.

Не подскажете, можно ли реализовать suspend to disk только для одной программы?
Т.е. нужна тулза, которая сможет сохранить текущее состояние программы
на диск и после перезагрузки продолжить ее выполнение.
--
Best regards, Maksim A. Boyko


 Что-то мне кажется, что это принципиально не возможно.
 К примеру, в начале работы программа загружает с помощью
 dlopen какие-то библиотеки. Заметим, что те в свою очередь
 могут захотеть какие-то другие библиотеки и т.д. Таким образом
 восстановление работы программы потребует загрузки
 _всех_ библиотек которые были в памяти на момент остановки.
 Еще хуже дело обстоит с файлами. Кто будет закрывать уже
 открытые потоки? Где гарантия, что файлы не будут
 модифицированны в промежутке между?

 Единственное, что приходит в голову, - запускать на
 отдельной виртуальной машине, и делать суспенд всей VM.

 Успехов.
 Ю.

Ответить