为什么“停止作业正在运行”是一个不错的设计选择?

为什么“停止作业正在运行”是一个不错的设计选择?

在典型的现代 Linux 发行版中,用户在尝试关闭计算机时可能会遇到这种情况:

A stop job is running for Session c2 of user, 或同等学历。

我理解这背后的想法:我想操作系统向程序发送 SIGTERM,并且它不会终止。

我认为发送 SIGKILL 更安全,对于能够自行清理并正常停止的程序来说,丢失数据的机会更小。

回归

  • 你可以更改一些超时,以不同的方式关闭。
  • 如果您作为用户想要覆盖它,则没有可以输入的组合键,例如control+Dcontrol+C来取消它并立即发送 SIGKILL 。

我希望这个设计选择背后有一些逻辑推理,因为对我来说,它看起来非常类似于 Windows 处理不“响应”的进程的方式,并且似乎从中得到了很大的启发。为什么会有决不停止这个A stop job is running for Session c2 of user等待超时消息?

答案1

鉴于超时值太大,事实并非如此。

但是您有足够的时间来启动带有交换文件的 USB 驱动器或任何导致死锁的原因。对于许多用户来说,如果到第 60 秒机器仍在运行,那么再等待只是浪费生命时间。虽然报告显示 os-prober 在整整 6 分钟后终止,但此时 1:30 分钟已经用完,因此超时时间太短了。很棘手,不是吗?

答案2

有一个硬件解决方案可以解决这个问题。如果您确实不想等待系统尝试正常关闭,您可以随时按住电源按钮几秒钟。当超时变得越来越长时,我已经这样做了几次。

相关内容