Remix.run Logo
o11c 3 days ago

My point is that a lot of apparently "simple" services do in fact call fork internally. Just a few things I've seen:

* fork to periodically make a snapshot of server state, to avoid slowing down the main server

* spawn an external gzip to compress a log file

* spawn a handler for some file format

* spawn a daemon to actually handle some resource, which might be used by other processes too (this really should be a separate managed service, but in the anti-systemd world this is often not the case)

If everything is working fine, you'll only waste a bit of server RAM for a few seconds if you fail to kill the children alongside the parent. But the circumstances in which you want to restart the service are often not "everything is working fine".