The checkpoint procedure relies heavily on '''/proc''' file system (it's a general place where crtools takes all the information it needs).
Which includes:
This includes:
* Files descriptors information (via '''/proc/$pid/fd''' and '''/proc/$pid/fdinfo''')
* Pipes parameters
* Memory maps (via '''/proc/$pid/maps''')
Though not all parameters can be observed this way, say The process dumper (lets call it simply the dumper further) does the current following steps during checkpoint stage: # A '''brk()$pid''' value of a process group leader is not exported at allobtained from the command line# By using this '''$pid''' the dumper walks though '''/proc/$pid/status''' and gathers children '''$pids''' recursively.At the end we will have a process tree.# Then it takes every '''$pid''' from a process tree, sends ''SIGSTOP'' to every process found, and performs the following steps on each '''$pid'''#* Collects VMA areas by parsing '''/proc/$pid/maps'''#*