[eside-ghost] Guardar el estado de un proceso a disco?
Santi Saez
santi en hostalia.com
Mar Mar 27 00:28:15 CEST 2007
El 26/03/2007, a las 23:46, Juanval escribió:
> Yeeepa,
>
> Ando con un proceso que me gustaría poder guardar su estado a disco en
> momentos concretos, y poder restaurarlo luego y seguir la ejecución
> donde estaba. Un kill -s STOP no me vale porque necesito apagar ese
> ordenador de vez en cuando, y perdería el proceso en cuestión. Y
> tampoco puedo modificar el código fuente para hacerlo por código,
> porque es closed source :-S
>
> Se me ha ocurrido que quizás se pueda hacer una especie de core dump y
> luego volver a restaurarlo como un proceso del sistema... aunque eso
> provocaría bastantes problemas con cosas como pipes, sockets, archivos
> abiertos, dispositivos reservados para ese proceso... etc. Aún asi,
> quizás alguien haya conseguido hacer algo asi... nu se
Una solución sencilla sería utilizar algo tipo OpenVZ [1] que desde
hace tiempo incorpora el "process checkpoint" [2].
Si no te sirve estar bajo un entorno virtual, en el segundo enlace
encontrarás algunas ideas que junto al enlace de Borja te servirán
como base.
Una vez instalado y con la VM en marcha, sería tan sencillo como:
vzctl chkpnt veid [--dumpfile name]
This command saves a complete state of a running VE to a dump
file, and stops the VE. If an option --dumpfile is not set, default
dump file name /vz/dump/Dump.veid is used.
Saludos,
[1] http://openvz.org/
[2] http://wiki.openvz.org/Checkpointing_internals
--
Santi Saez
Más información sobre la lista de distribución eside-ghost