37 lines
1.4 KiB
Markdown
37 lines
1.4 KiB
Markdown
|
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.<br><br>
|
||
|
|
||
|
## 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.<br><br>
|
||
|
|
||
|
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.<br><br>
|
||
|
|
||
|
Once the file is created, open it using your favorite text editor and add the following:
|
||
|
|
||
|
```sh
|
||
|
[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):
|
||
|
|
||
|
```sh
|
||
|
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.<br><br>
|
||
|
|
||
|
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.
|