我想知道是否可以冻结 Linux 中的进程,然后重新启动或关闭计算机。当计算机恢复工作时,继续执行被冻结的进程。
我尝试使用killall -s STOP
冻结进程,但是当我重新启动计算机并使用命令时killall -s CONT
,它说没有找到进程。
答案1
Linux 上的进程可以(有警告和限制)在 Linux 上挂起;截至 2017 年,CRIU 项目提供了此类检查点/恢复功能:
具体限制包括需要使用相同的 PID、库在重新启动之前和之后必须是完全相同的版本,等等:
答案2
不,您不能在重新启动时暂停单个进程。但是,应该可以暂停整个系统。当您稍后重新启动它时,正在运行的进程很可能能够继续。 (例外情况包括通过网络进行通信的情况。)
暂停有两种形式
- 挂起至内存 - 这需要持续供电(电池等),但系统本质上是暂停的。
- 挂起到磁盘 - 这不需要电源,但系统将需要更长的时间才能重新启动。在 Windows 世界中,这曾经被称为 Hibernate。