To resume from a checkpoint, do this: {code} -setarch x86_64 -L -B -R ./a.out -_condor_restart ckpt +setarch x86_64 -L -B -R ./a.out -_condor_restart ckpt -_condor_relocatable {endcode} -This is the same command line as before, but -_condor_ckpt is now -_condor_restart. +This is the same command line as before, but -_condor_ckpt is now -_condor_restart and -_condor_relocatable has been added. {subsection: Checkpointing in Condor's vanilla universe} 1: Register a signal handler for SIGTSTP; it should send SIGTSTP to the running "real" job. 2: Register a signal handler for SIGUSR2; it should send SIGUSR2 to the running "real" job. (As of July, 2012, this will never be used, but we anticipate adding support for periodic checkpoints in the vanilla universe.) -3: Is the checkpoint file ("my-real-job.ckpt") present? Then the arguments are "-_condor_restart my-real-job.ckpt". Otherwise the arguments are "-_condor_ckpt my-real-job.ckpt". +3: Is the checkpoint file ("my-real-job.ckpt") present? Then the arguments are "-_condor_restart my-real-job.ckpt -_condor_relocatable". Otherwise the arguments are "-_condor_ckpt my-real-job.ckpt". 3: Start your "real" job *:: Start under setarch to disable address randomization and similar that Condor checkpointing cannot cope with. The "-B" (limiting memory to 32 bit addresses) may not be necessary in all cases, but the specific circumstances are not known. The _<arguments>_ are as determined above. *::: 32-bit: setarch i386 -L -B -R ./my-real-job _<arguments>_