Demon zarządzania systemem

Systemd systemctl

Uruchamia usługi systemowe Linux wraz z zależnościami i udostępnia informacje o nich.

W nomenklaturze demona każdą usługę nazywa jednostką, pliki posiadają różne typy przyrostków zgodnie z konwencją w zależności od konfiguracji jaką reprezentują. Nie są wykonywalne to tylko pliki konfiguracyjne.

terminal

Podczas instalacji pakiety zapisują pliki jednostek do katalogów:

/usr/lib/systemd/system

Pliki utworzone na własne potrzeby i te wygenerowane przez systemctl enable umieszczone są w: 

/etc/systemd/system

systemctl – wprowadza zmiany w konfiguracji systemd, kontroluje jego stan.

Lista typy jednostek: 

systemctl -t help

Podpolecenia

Wyświetlenie aktywnych usług: 

list-units --type=service

Wyświetlanie wszystkich usług:

list-unit-files --type=service

Ponowne załadowanie plików jednostek i konfiguracji systemd

deamon-reload

Aktywuje jednostkę

enable 

Dezaktywuje jednostkę

disable 

Natychmiastowa aktywacja jednostki

start 

Natychmiastowa dezaktywacja jednostki

stop 

Restart jednostki

restart 

Status jednostki 

status -l 

Pełna lista poleceń 
Pełna lista opcji konfiguracji systemd.service

Tworzenie własnej usługi

Plik jednostki utwórz w:

vim /etc/systemd/system/exec-docker-compose.service

Przykładowo docker-compose

[Unit]
Description=exec-docker-compose
Requires=docker.service
After=docker.service
[Service]
Restart=always
User=root
Group=docker
WorkingDirectory=/home/tomasz/docker
ExecStartPre=/home/tomasz/docker -f docker-compose.yaml down
ExecStart=/home/tomasz/docker -f docker-compose.yaml up
ExecStop=/home/tomasz/docker -f docker-compose.yaml down
[Install]
WantedBy=multi-user.target

Przykładowo własna apka node

Nadanie uprawnień

[Unit]
Description=appNode.js
After=network.target 
[Service]
Type=simple
User=root
ExecStart=/usr/bin/node /home/tomasz/node/generator/app.js
Restart=on-failure

[Install]
WantedBy=multi-user.target
chmod a+x /etc/systemd/system/exec-docker-compose.service

Przeładowanie ustawień

systemctl daemon-reload

Start usługi 

systemctl start exec-docker-compose

Uruchomienie autostartu

systemctl enable exec-docker-compose.service

UWAGA! W świecie Linux wielu administratorów krytykuje systemd , i wybierają tradycyjny init.   Więcej informacji znajdziesz tutaj Nosystemd

Manual init

W systemie macOS do zarządzania procesami i agentami wykorzystywany jest launchd

Inne wpisy z kategorii Linux