Reducing shutdown timeout for "a stop job is running"

53,214

Solution 1

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

Solution 2

/etc/systemd/system.conf has a line

#DefaultTimeoutStopSec=90s

which can be uncommented and changed

Share:
53,214

Related videos on Youtube

Jason C
Author by

Jason C

You may refer to me as any pronoun you wish.

Updated on September 18, 2022

Comments

  • Jason C
    Jason C over 1 year

    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.

    • Tigger
      Tigger over 7 years
      If there is a (default) stop script, you could re-write it to perform a forcestop or even to kill pm2 instead of a graceful shutdown.
    • Jason C
      Jason C over 7 years
      @Tigger I came to a similar conclusion, actually. Out of desperation I just made stop in pm2's init script do nothing at all, and let it die naturally on shutdown. It's a terrible solution for general use but on this particular system it's fine. I still want to know how to change the 5 minute timeout though.
  • Stuart Cardall
    Stuart Cardall over 5 years
    setting 45s in Arch Linux makes shutdowns quick on an nvme drive - for really quick shutdowns use Alpine Linux (no systemd)
  • Admin
    Admin almost 2 years
    Just got the "populist badge for this" :-) The wisdom of the masses ...