减少“停止作业正在运行”的关闭超时

Jas*_*n C 20 systemd reboot lsb

我已经在 Pi(Raspbian)上安装了 node.js 和 pm2。PM2 被配置为通过pm2 startup它创建的初始化脚本启动。有时,当我重新启动时,关机会挂起几分钟:

A stop job is running for LSB: PM2 init script (... / 5min)
Run Code Online (Sandbox Code Playgroud)

每隔一段时间1我假设 PM2 没有正确关闭并挂起整整 5 分钟。

在这个系统上,我确切地知道 PM2 正在管理哪些应用程序,我真的不在乎它们是否正常关闭。

我的问题是:如何将超时从 5 分钟减少到 15 秒左右?这是在哪里配置的?

我在论坛上读到它是/etc/systemd/system.conf中的DefaultTimeoutStopSec关键,所以我尝试将其设置为“15s”,但没有效果。我也在/etc/systemd/user.conf 中尝试了同样的事情,但没有改变。超时仍设置为 5 分钟。


1我确实知道具体是什么触发了这个,但细节并不重要,影响是不可避免的。

Wol*_*ahl 20

/etc/systemd/system.conf 有一条线

#DefaultTimeoutStopSec=90s

可以取消注释和更改

  • 我在帖子中提到过,更改它没有任何效果。 (2认同)

Jde*_*eBP 11

如何将超时从 5 分钟减少到 15 秒左右?

您重新构建从源头systemd,修补在硬连线超时systemv-sysv-generatorTimeoutSec=5min任何你想要的。或者您向 systemd 人员询问 Fedora/SUSE 或 LSB 标头中某处的控制旋钮。

或者,在抓手上,您放弃使用rc您拥有的这个脚本并为您的服务编写一个 systemd 服务单元,您可以使用显式TimeoutSec=设置来设置其超时,并在/etc/systemd/system/pm2.service.d/timeout.conf必要时使用插入设置文件进行安装。

鉴于thisthisthisthisthis和其他,迁移到 systemd 的第一条规则也适用于此。

进一步阅读