如何跳过 systemd 中的 90 秒超时

如何跳过 systemd 中的 90 秒超时

是否可以交互地跳过 systemd 中的 90 秒超时?例如,当它等待磁盘可用或用户注销时?我知道它最终会失败,那么我现在可以让它失败吗?我讨厌只是无助地盯着屏幕。

答案1

您有两个选择:

  1. 您可以将TimeoutStopSpec=特定 UNIT 设置为特定值(以秒为单位*)来等待。您还可以将其设置为infinity在这种情况下永远不会发送 SIGKILL(不推荐,因为您可能最终会得到难以调试的失控服务)。

  2. DefaultTimeoutStopSec=将内部/etc/systemd/system.conf(或user.conf,或在目录之一中)设置*.d为所有未指定的 UNITTimeoutStopSpec=将使用的默认值。此设置的默认值是您通常看到的 90 年代。

手册页参考:

  • man systemd.service为了TimeoutStopSpec=
  • man systemd-system.conf为了DefaultTimeoutStopSec=

* systemd 还接受时间规范,例如“2min 3s”。这在男人身上得到了广泛的描述。

答案2

这不可能。 Systemd 是非交互式的。

2023年,Fedora 38 缩短了默认超时时间至 45 秒。

答案3

您可以取消注释以下/etc/systemd/system.conf行:

DefaultTimeoutStartSec=90s
DefaultTimeoutStopSec=90s

并将该值更改为您认为合适的值。

相关内容