clean exit
systemd's own definition of a process that ended normally, and it is wider than "exit status 0": an exit is also clean when the process is killed by SIGHUP, SIGINT, SIGTERM or SIGPIPE — outside Type=oneshot — or when it exits with a status listed in SuccessExitStatus=. So a killed process is not a failure by nature. On a unit with Restart=on-failure, sudo kill 1741 sends SIGTERM: the unit goes to inactive (dead) and nothing comes back. sudo kill -9 1741 is not on the list, and the service is running again a tenth of a second later. The signal you type is what decides whether the restart policy acts — one more reason not to reach for -9 out of habit. systemctl stop never triggers a restart either. The reverse costs you too: an import that exits 2 to say "nothing to do" stays a failure until SuccessExitStatus=2 says otherwise.
Also written: clean termination, SuccessExitStatus
