With the --action-script command line option, CRIU can call your action scripts (also known as hooks) at various stages of dumping/restoring. Hooks can be one of
- network-lock
- request to lock a container network (used by Docker and LXC)
- network-unlock
- requested to unlock a container network (used by Docker and LXC)
- post-dump
- called when CRIU finished dumping tasks before unfreezing them
- post-restore
- called when CRIU has finished restoring tasks before unlocking the network
- setup-namespaces
- called when the root task is alive and new set of namespaces is created to set them up
CLI
These hooks are added with the --action-script shell-code-to-execute option. When called, the CRTOOLS_SCRIPT_ACTION environment is set to a value determining which type of action is performed.
RPC
In case or RPC, action scripts are implemented as notifications -- once CRIU service wants to execute a script it send an RPC message to caller and waits for it to respond with criu_req
message having notify_success = true
.
Library
When using a library one can setup a callback using the criu_set_notify
routine.