You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
993 B
Markdown
48 lines
993 B
Markdown
4 years ago
|
+++
|
||
|
title = "Servis v systemd"
|
||
|
description = "Jak vyrobit z binárky systemd daemona"
|
||
|
date = 2021-02-4
|
||
|
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
|
||
|
```
|