Before we can start checkpointing processes we have to be sure that they will not produce new children processes which would escaped from dumping procedure. In other words the process tree must be persistent while we are dumping it. While sounds trivial in became problematic in real life. The checkpoint it supposed to be transparent to the application we are dumping thus it must not notice any change in process state transition. Traditionally processes are stopped with stop signal. But we have a better choise - [https://www.kernel.org/doc/Documentation/cgroup-v1/freezer-subsystem.txt a freezer cgroup].