Daemons started by systemd shouldn't fork into the background if possible, because if multiple forked processes exist, systemd has a hard time determining the main process ID. In a memory constrained environment, the OOM killer may cause ejabberd to exit without any trace. Because epmd keeps running, systemd wouldn't notice the error condition, and as a result it won't restart the server. With ejabberd running in foreground, systemd is able to obtain the correct exit code (137 in this case, instead of 0) and schedules a restart. The administrator can then see what happend by looking at systemctl status ejabberd.pull/3429/head
parent
3581d90d9d
commit
5c6ffaafd6
Loading…
Reference in new issue