We're currently using procServ with the --oneshot option, and ensuring that the systemd service has Restart=always. I think it's pretty nice since unexpected restarts are logged into journald.
One thing that I found out, is that if the process managed by procServ is killed (by SIGKILL, or SIGSEGV, for example), procServ returns 0.
This bit me at first because I had configured Restart=on-failure, and systemd saw that the process exited successfully.
I think returning 0 is surprising in this instance, and it might be nice to return >0. We might even want to exit with the standard "Fatal error signal" exit code: https://tldp.org/LDP/abs/html/exitcodes.html
Hello!
We're currently using
procServ
with the--oneshot
option, and ensuring that the systemd service hasRestart=always
. I think it's pretty nice since unexpected restarts are logged into journald.One thing that I found out, is that if the process managed by
procServ
is killed (bySIGKILL
, orSIGSEGV
, for example),procServ
returns 0.This bit me at first because I had configured
Restart=on-failure
, and systemd saw that the process exited successfully.I think returning 0 is surprising in this instance, and it might be nice to return >0. We might even want to exit with the standard "Fatal error signal" exit code: https://tldp.org/LDP/abs/html/exitcodes.html
Thanks a lot!