是否可以交互地跳过 systemd 中的 90 秒超时?例如,当它等待磁盘可用或用户注销时?我知道它最终会失败,那么我现在可以让它失败吗?我讨厌只是无助地盯着屏幕。
答案1
您有两个选择:
您可以将
TimeoutStopSpec=
特定 UNIT 设置为特定值(以秒为单位*)来等待。您还可以将其设置为infinity
在这种情况下永远不会发送 SIGKILL(不推荐,因为您可能最终会得到难以调试的失控服务)。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
并将该值更改为您认为合适的值。