2022-01-16 18:20:39 +00:00
|
|
|
---
|
2022-01-16 19:28:02 +00:00
|
|
|
title: "Making Services"
|
2022-01-26 22:35:07 +00:00
|
|
|
tags: [ "Documentation", "systemd" ]
|
2022-01-16 18:20:39 +00:00
|
|
|
---
|
2020-01-02 00:04:35 +00:00
|
|
|
# Basics
|
|
|
|
|
|
|
|
A service can consist of two files - the .sh script to run, and the .service file which describes its run conditions.
|
|
|
|
|
|
|
|
The .service file goes in /etc/systemd/system. The scripts themselves might be best placed in $HOME/.local/bin.
|
|
|
|
|
|
|
|
# Example - tracker.service
|
|
|
|
|
|
|
|
```
|
|
|
|
[Unit]
|
|
|
|
Description=Tracker
|
|
|
|
|
|
|
|
[Service]
|
|
|
|
Type=simple
|
|
|
|
ExecStart=/path/to/script
|
|
|
|
|
|
|
|
[Install]
|
|
|
|
WantedBy=multi-user.target
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
After making the new service, systemd requires reloading:
|
|
|
|
|
2023-06-17 19:28:20 +00:00
|
|
|
```bash
|
|
|
|
sudo systemctl daemon-reload
|
|
|
|
```
|
2020-01-02 00:04:35 +00:00
|
|
|
|
|
|
|
# Types
|
|
|
|
|
|
|
|
* simple - the service cannot be called on by others. It runs on repeat.
|
|
|
|
* oneshot - the service executes once, then stops.
|
|
|
|
|