From 37baca5c820e29c0cae0f7184a404366db5a5661 Mon Sep 17 00:00:00 2001 From: Josef Rokos Date: Thu, 4 Feb 2021 22:47:08 +0100 Subject: [PATCH] Added description of systemd service files. --- content/systemd_service.md | 47 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 content/systemd_service.md diff --git a/content/systemd_service.md b/content/systemd_service.md new file mode 100644 index 0000000..e596b02 --- /dev/null +++ b/content/systemd_service.md @@ -0,0 +1,47 @@ ++++ +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 +```