unix 中暂停的作业会发生什么?

Gee*_*eek 8 process signals process-management jobs background-process

我们可以发出CTRL+Z暂停 Unix 中的任何作业,然后使用fg或使它们恢复生机bg。我想了解那些像这样被暂停的工作会发生什么?他们被杀死/终止了吗?换句话说,杀死和暂停进程有什么区别?

Gil*_*il' 13

这些工作并没有被杀死,而是被暂停了。它们与挂起时完全一样:相同的内存映射、相同的打开文件、相同的线程……只是进程在恢复之前什么也不做。就像你暂停一部电影一样。挂起的进程的行为与调度程序顽固地拒绝给 CPU 时间的进程完全一样,只是进程状态被记录为挂起而不是运行。


ter*_*don 8

从用户的角度来看,这意味着作业已暂停。它将不再使用任何 CPU。这,但是,继续使用的RAM相同的金额。这就是为什么您可以使用 将它带回前台,fg它会从停止的地方继续

如果您杀死一个作业然后重新启动它,它将从头开始。