+++
title = "Servis v systemd"
description = "Jak vyrobit z binárky systemd daemona"
date = 2021-02-04
draft = false
slug = "systemd-service"

[taxonomies]
categories = ["linux"]
tags = ["systemd", "administrace"]
+++

Pokud potřebujeme spouštět program jako službu, na distribucích se systemd musíme vytvořit konfigurační soubor s popisem služby. Výhoda je, že lze jako daemona použít i normální binárka, kde se neřeší daemonizace forkem.

Konfigurák vytvoříme v `/etc/systmd/system/` s obsahem:

```
[Unit]
Description=Foo

[Service]
ExecStart=/usr/sbin/foo-daemon

[Install]
WantedBy=multi-user.target
```

Až je to hotové, je potřeba přenačíst služby příkazem:

```
$ sudo systemctl daemon-reload
```

Pak se dá služba ovládat přes systemctl:

```
$ sudo systemctl start foo-daemon
$ sudo systemctl stop foo-daemon
$ sudo systemctl restart foo-daemon
$ systemctl status foo-daemon
```

A vypsat log přes journalctl:

```
$ journalctl -u foo-daemon
```
