CLI
Synopsis
criu <command> -t <pid> [<options>]
Description
criu is command line utility to steer checkpoint and restore procedure.
Options
<command>::
One of the following commands
* 'dump'
to initiate checkpoint procedure
* 'restore'
to restore previously checkpointed processes
* 'show'
to decode binary dump files and show their contents in human
readable format
* 'check'
to test whether the kernel support is up-to-date
* 'exec'
to execute a system call from another task's context
* 'page-server'
to launch a page-server
* 'service'
to start RPC service
-c::
In case of 'show' command the dumped pages content will be shown in hex format.
-D <path>::
Use path 'path' as a base directory where to look for dump files set. This
commands allpies to any <command>.
-s::
Leave tasks in stopped state after checkpoint instead of killing them.
-f <file>::
This option is valid for 'show' command only and allows to see content of
the <file> specified.
-t <pid>::
Checkpoint the whole process tree starting from 'pid'.
-d::
Detach criu itself once restore is complete.
-n <ns>::
Checkpoint namespaces. Namespaces must be separated by comma.
We now support all namespaces -- uts, ipc, net and mnt
-o <file>::
Write logging messages to 'file'.
-v <num>::
Set logging level to 'num'. Valid options are: 0 - (silent, error messages
only), 1 - informative (default), 2 - debug messages.
Examples
First thing to do is to check the kernel support being up-to-date with the
# criu check
command. If it says "Looks good", then you can proceed, otherwise dump/restore may not work.
To checkpoint a program with pid 1234 and write all image files into directory checkpoint one should type
# criu dump -D checkpoint -t 1234
To restore this program detaching criu itself, one should type
criu restore -d -D checkpoint
"Detaching" (the -d option) here means, that criu will exit after restoring the processes
and the latter will get re-parent-ed to the init task.
To close a file descriptor number 1 in task with pid 1234 run
criu exec -t 1234 close 1
To open a file named /foo/bar for read-write in the task with pid 1234 run
criu exec -t 1234 open '&/foo/bar' 2
Security
See Security
See also
- Advanced usage article for more options
- Remote syscall execution article for 'exec' command info
- Category:HOWTO
- Category:Live migration
- Incremental dumps
- Statistics
- RPC API to C/R functionality