最恰当的方法是使用冰箱cgroup.在FROZEN cgroup状态下,它将进程置于不间断睡眠状态.
# mkdir /sys/fs/cgroup/freezer
# mount -t cgroup -ofreezer freezer /sys/fs/cgroup/freezer
# mkdir /sys/fs/cgroup/freezer/frozen
# echo FROZEN > /sys/fs/cgroup/freezer/frozen/freezer.state
# echo `pidof you_process` > /sys/fs/cgroup/freezer/frozen/tasks
Run Code Online (Sandbox Code Playgroud)
要再次进入可中断的睡眠状态,只需将cgroup状态更改为THAWED即可.