LINUX.ORG.RU

История изменений

Исправление SZT, (текущая версия) :

Там человек верно подметил про идею корутинов и сохранения состояния программы.

Не, ну, можно тупо клонировать процесс в замороженном состоянии

В мане на системный вызов clone сказано:

CLONE_STOPPED (since Linux 2.6.0-test2)
If CLONE_STOPPED is set, then the child is initially stopped (as though it was sent a SIGSTOP signal), and must be resumed by sending it a SIGCONT signal.

Вот так можно наклонировать кучу процессов, и потом в случае чего откатываться к старому процессу, будя его сигналом SIGCONT

Сохранять полностью состояние программы не выйдет, потому как есть (могут быть) еще файлы, открытые программой, которые могут меняться другими программами, и могут быть какие-нибудь семафоры и shared memory , и как все это откатить? Виртуалкой только, ИМХО.

Еще есть: https://www.criu.org/Main_Page и https://github.com/google/snappy-start

Исправление SZT, :

Там человек верно подметил про идею корутинов и сохранения состояния программы.

Не, ну, можно тупо клонировать процесс в замороженном состоянии

В мане на системный вызов clone сказано:

CLONE_STOPPED (since Linux 2.6.0-test2)
If CLONE_STOPPED is set, then the child is initially stopped (as though it was sent a SIGSTOP signal), and must be resumed by sending it a SIGCONT signal.

Вот так можно наклонировать кучу процессов, и потом в случае чего откатываться к старому процессу, будя его сигналом SIGCONT

Сохранять полностью состояние программы не выйдет, потому как есть (могут быть) еще файлы, открытые программой, которые могут меняться другими программами, и могут быть какие-нибудь мьютексы и shared memory какие-нибудь, и как все это откатить? Виртуалкой только, ИМХО.

Еще есть: https://www.criu.org/Main_Page и https://github.com/google/snappy-start

Исходная версия SZT, :

Там человек верно подметил про идею корутинов и сохранения состояния программы.

Не, ну, можно тупо клонировать процесс в замороженном состоянии

В мане на системный вызов clone сказано:

CLONE_STOPPED (since Linux 2.6.0-test2)
If CLONE_STOPPED is set, then the child is initially stopped (as though it was sent a SIGSTOP signal), and must be resumed by sending it a SIGCONT signal.

Вот так можно наклонировать кучу процессов, и потом в случае чего откатываться к старому процессу, будя его сигналом SIGCONT

Сохранять полностью состояние программы не выйдет, потому как есть (могут быть) еще файлы, открытые программой, которые могут меняться другими программами, и как все это откатить? Виртуалкой только, ИМХО.

Еще есть: https://www.criu.org/Main_Page и https://github.com/google/snappy-start