Ctrl如果我在暂停终端进程(使用+ )后关闭电脑,会发生什么Z?就我而言,它是sudo apt-get upgrade
.升级文件大小为250 MB,与从网站上随机下载一些相同大小的文件相比,下载这些文件所需的时间要长得多。
fg
那么,我会丢失所有下载的数据,还是在我重新打开电脑并使用命令恢复该过程后,它会继续下载过程吗?
答案1
如果您关闭计算机,它会再次启动,但不会运行任何程序。根据您的桌面环境,您使用的某些程序可能会在您再次登录时自动启动,如果这些程序记住它们打开的文件,那么它们将打开相同的文件,但仅此而已。
许多 GUI 应用程序都是功能强大的程序,可以执行很多操作,包括保存会话。相比之下,命令行应用程序往往建立在做好一项任务的理念之上,并使用 shell 作为粘合语言来控制应用程序并将它们绑定在一起。如果设计良好的命令行应用程序被中断,则使用相同的参数(记住在 shell 历史记录中)再次运行它应该可以完成任务。这对 来说很有效。apt-get
再次运行该命令,它将从上次中断的地方重新开始,或者非常接近上次中断的地方。
Debian 升级由许多文件组成,平均大小约为 100 kB(最大的软件包约为 30-60 MB,主要是大型数据集和调试信息)。如果中断升级过程,已完全下载的文件仍将存在(在 中/var/cache/apt/archives
)并且不会再次下载。
答案2
fg
该进程在重新启动后将无法工作,因为在关闭过程中会向该进程发送信号以杀死它。
为什么不做类似的事情:
sudo apt-get upgrade && sudo reboot
升级完成后成功地,将发出重新启动命令。
答案3
如果我在挂起终端进程后关闭电脑,会发生什么情况?
如果您使用 终止它,也会发生同样的事情kill
。我会说,“如果你用Ctrl+终止它,也会发生同样的事情C”,但程序可以捕获它并在退出之前自行清理。 (严格来说,程序也可以捕获Ctrl+ Z,但不多。) 不,你不能用 来恢复它fg
。
如果您具体询问有关 的问题apt-get
,您应该编辑您的问题,以明确这apt-get
是问题的焦点,而不仅仅是一个任意的示例。