On Thu, Dec 19, 2019 at 09:38:11AM +0100, Xavier Bestel wrote:
> When sshd dies, it doesn't restart which makes the machine unreachable.
> E.g. try "sudo killall sshd", and voilĂ  you can't use a headless machine 
> anymore.
> 
> Could this be fixed ?

I see from the information that reportbug attached that you're using
systemd.

As far as I can tell, systemd doesn't have a way to express this in the
particular example you gave.  killall will kill processes using SIGTERM
by default, and systemd considers that to be a deliberate administrative
action, i.e. "you meant to do that", so Restart=on-failure won't apply.
This seems correct to me.  However, if you kill sshd in an unclean way,
for example by sending SIGKILL, then systemd *will* restart it.

systemd.service(5) says:

    If set to on-failure, the service will be restarted when the process
    exits with a non-zero exit code, is terminated by a signal
    (including on core dump, but excluding the aforementioned four
    signals [SIGHUP, SIGINT, SIGTERM or SIGPIPE]), when an operation
    (such as service reload) times out, and when the configured watchdog
    timeout is triggered.

It feels like you filed a reduced bug report based on something more
complex happened in real life.  If so, could you share the more complex
version?

-- 
Colin Watson                                       [cjwat...@debian.org]

Reply via email to