Add stop command for reliable systemd shutdown#626
Open
rtimmons wants to merge 8 commits intojishi:masterfrom
Open
Add stop command for reliable systemd shutdown#626rtimmons wants to merge 8 commits intojishi:masterfrom
rtimmons wants to merge 8 commits intojishi:masterfrom
Conversation
Owner
|
I think this must depend on how you setup your systemd daemon for this process? It would be better to now rely on external tools, and maybe act properly on a SIGINT signal inside the app that would shut down gracefully. Could you please explain how you set this up as a systemd service? Or if you followed a guide, which guide? My advice is usually to use pm2 to host all your node processes (this also has an installable systemd setup) which just handles this nicely as far as I can tell, but of course if there is some improvements to be done to make it easier to set it up with systemd directly, I should look into that. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Thanks for your work on this package!
I've found that running node-sonos-http-api through a systemd service occasionally results in the process "running away" such that systemd can no longer stop or restart it for config-changes or deployments. I doubt this is a bug in node-sonos-http-api (but fwiw this doesn't happen with simple express.js apps running with the same systemd configs).
I am not an expert in systemd or node, but I've found out that adding a
npm run stopcommand solves the issue very reliably and without any real downside that I can see. Thestopcommand just does apkillof the server using its symbolic process name which is now set at the top of the server.js file.I've been running with this change for several days and have not had any more "zombie" processes. Contributing this back in case it helps others in the future.