Please, Run!
An attempt to abstract this "init" script madness
...is a Ruby tool that generates service definitions and startup scripts for different operating-system service managers. It was created to reduce the need to manually learn the syntax of multiple init systems. Supported targets include systemd, Upstart, launchd, runit, and SysV init. Users describe the command they want to run, and Pleaserun produces an appropriate launcher for the selected or automatically detected platform. Configuration options can control process names, platform versions, working directories, users, and commands that run before startup. Generated files can be installed directly on the current machine or written elsewhere for packaging and deployment. ...