User`s guide

IST-033576 D2.1.4
% env LD_PRELOAD=PREFIX / l i b / l i b c r . so . 0 : l i b p t h r e a d .
so . 0 y o u r _ e x e c u t a b l e [ a r g u m e n ts ]
This is essentially how cr_run works.
If you your application does not link in BLCR’s library via one of the mech-
anisms listed above, then any attempt to checkpoint it will fail gracefully NEW:
This behavior is a change BLCR releases prior to 0.5.0 in which this situation
would cause the program to die unless you handled BLCR’s real-time signal ex-
plicitly.
B.4.3 Checkpointing the process
To checkpoint a process, simply run:
% c r _ c h e c k p o i n t PID
where PID is the application’s process ID.
By default, cr_checkpoint saves a checkpoint, and then lets your application
continue running, which is useful for saving the state of a process in case it later
fails. However, you may terminate the process after it has been checkpointed by
passing the –term flag:
% c r _ c h e c k p o i n t t er m PID
This causes a SIGTERM signal to be sent to the process at the end of the check-
point. To send a different signal to your process at the end of the checkpoint, you
can pass any arbitrary signal number using the –signal=N flag.
By default BLCR interprets the final argument (PID in the examples above) as
the process id of a (potentially multi-theaded) process to checkpoint, along with
all of its children (and their children, etc.). However, there are options to request
a checkpoint of a different scope for the checkpoint:
% c r _ c h e c k p o i n t p g i d PGID
% c r _ c h e c k p o i n t s i d SID
% c r _ c h e c k p o i n t t r e e PID
% c r _ c h e c k p o i n t p i d PID
These four examples request, respectively, checkpoints over the scope of a process
group, a session, a process tree (the default), and a single process. The PGID is
a process group identifier and SID is a session identifier. Here we take the terms
"process group" and "session" to mean the set of processes having the given pgid
or sid. In most cases the pgid or sid is just the pid of the process group leader
XtreemOS–Integrated Project 44/49