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


18

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

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

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

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

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

我在一个论坛上读到它是/etc/systemd/system.conf中的DefaultTimeoutStopSec密钥,因此我尝试将其设置为“ 15s”,但没有效果。我也在/etc/systemd/user.conf中尝试了同样的事情,但是没有任何变化。超时仍设置为5分钟。


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


1
如果有(默认)stop脚本,则可以重新编写该脚本以执行forcestop甚至杀死操作,pm2而不是正常关机。
Tigger

@Tigger实际上,我得出了类似的结论。出于绝望,我只是stop在pm2的init脚本中所做的一切,什么也不做,让它在关机时自然死掉。这是一个通用的糟糕解决方案,但是在此特定系统上就可以了。我仍然想知道如何更改5分钟超时。
杰森·C

Answers:


8

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

您重新构建从源头systemd,修补在硬连线超时systemv-sysv-generatorTimeoutSec=5min任何你想要的。或者,您可以在Fedora / SUSE或LSB标头中的某个位置,要求系统人员提供控制旋钮。

或者,您会松懈地放弃使用rc已有的此脚本,而为服务编写一个systemd服务单元,可以使用显式TimeoutSec=设置来设置其超时,并在/etc/systemd/system/pm2.service.d/timeout.conf必要时通过插入式设置文件安装该超时。

给定了thisthisthisthisthis以及其他,迁移到systemd的第一条规则在这里也适用。

进一步阅读


17

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

#DefaultTimeoutStopSec=90s

可以不加注释和更改


我在帖子中提到,更改它没有任何效果。
杰森·C

在Arch Linux中设置45s可使nvme驱动器快速关闭-要真正快速关闭,请使用Alpine Linux(否systemd
Stuart Cardall
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.