进一步阅读

进一步阅读

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

A stop job is running for LSB: PM2 init script (... / 5min)

每隔一段时间我就会假设 PM2 无法正常关闭并挂起整整 5 分钟。

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

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

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


1我实际上确实知道具体是什么触发了这个,但细节并不重要,而且效果是不可避免的。

答案1

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

#DefaultTimeoutStopSec=90s

可以取消注释和更改

答案2

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

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

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

给定,,,,以及其他,迁移到 systemd 的第一条规则也适用于此。

进一步阅读

相关内容