systemd-custom-unit
Template
File: /etc/systemd/system/APP.service
[Unit]
Description=Run APP application
[Service]
Type=simple
ExecStart=/usr/bin/LANG APP_DIR/APP APP_ARGS
Restart=on-failure
User=root
WorkingDirectory=APP_DIR
[Install]
WantedBy=multi-user.target
Also, the application might need to reference a PID file, let systemD know abut it via PIDFile
.
PIDFile=/tmp/APP.pid
Example
File: /etc/systemd/system/julia_dash_app.service
[Unit]
Description=Run Julia Dash application
[Service]
Type=simple
ExecStart=/usr/bin/julia /root/julia_dash_app/main.jl
Restart=on-failure
User=root
WorkingDirectory=/root/julia_dash_app
[Install]
WantedBy=multi-user.target