Reducing shutdown timeout for “a stop job is running”

I’ve got node.js and pm2 installed on a Pi (Raspbian). PM2 was configured to start via pm2 startup and the init scripts it creates. Sometimes when I reboot, shutdown hangs for a few minutes on:

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

Every once in a while1 what I’m assuming is PM2 doesn’t shut down properly and hangs for the full 5 minutes.

On this system, I know exactly what apps PM2 is managing and I really don’t care if they shutdown properly.

My question is: How do I reduce the timeout from 5 minutes to, say, 15 seconds or so? Where is this configured?

I read on a forum that it was the DefaultTimeoutStopSec key in /etc/systemd/system.conf, so I tried setting that to “15s” but it had no effect. I tried the same thing in /etc/systemd/user.conf, too, but no change. The timeout is still set to 5 minutes.


1 I actually do know specifically what triggers this, but the details aren’t important and the effect is unavoidable.

Answers:

Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.

Method 1

/etc/systemd/system.conf has a line

#DefaultTimeoutStopSec=90s

which can be uncommented and changed

Method 2

How do I reduce the timeout from 5 minutes to, say, 15 seconds or so?

You re-build systemd from source, patching the hardwired timeout in systemv-sysv-generator from TimeoutSec=5min to whatever you want. Or you ask the systemd people for a control knob somewhere in the Fedora/SUSE or LSB headers.

Or, on the gripping hand, you give up on using this rc script that you have and write a systemd service unit for your service, whose timeouts you can set with an explicit TimeoutSec= setting, installed with a drop-in settings file in /etc/systemd/system/pm2.service.d/timeout.conf if necessary.

Given this, this, this, this, this, and others, the first rule for migrating to systemd applies here as well.

Further reading


All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x