I've been a stick-in-the-mud about changing to systemd until I bumped into an ugly wart of sysvinit. While upgrading a service I moved the old daemon aside in case I wanted to downgrade again, then remembered that I hadn't killed it. So typed `/etc/init.d/myservice stop` and saw it did nothing. Huh? Oh, that's right. The simplistic script won't do anything if the daemon file doesn't exist. I had to manually kill the PID. So would I be correct in assuming that systemd would know the service names of all running daemons and be able to stop them without having to check to original file?
Well yes, systemd is far more sophisticated than sysvinit. No one here is advocating for sysvinit, as it does need a proper successor. "sysvinit or systemd" is a false dichotomy, however.