Skip to content

Systemd run on startup

Using Systemd allows you to run any executable or script when the system starts. This can be useful when you don't want to re-run your Crow application every single time you restart your server.

Writing the Service Unit File

In order to have Systemd recognize your application, you need to create a .service file that explains how Systemd should handle your program.

To create a service file, you need to go to /etc/systemd/system and create an empty text file with the extension .service, the file name can be anything.

Once the file is created, open it using your favorite text editor and add the following:

[Unit]
Description=My revolutionary Crow application

Wants=network.target
After=syslog.target network-online.target

[Service]
Type=simple
ExecStart=/absolute/path/to/your/executable
Restart=on-failure
RestartSec=10
KillMode=process

[Install]
WantedBy=multi-user.target

You will then need to give the correct permission, this can be done by using the following command (a sudo maybe required):

chmod 640 /etc/systemd/system/crowthing.service

And that's it! You can now use your systemctl controls to enable, start, stop, or disable your Crow application.

If you're not familiar with Systemd, systemctl enable crowthing.service will allow your Crow application to run at startup, start will start it, and the rest is simple.