Nem kell hozzá feltétlenül indítószkript, bár jó eséllyel hasznos lenne. Én azt szoktam csinálni, hogy csinálok egy egyszerű shell szkriptet a /usr/bin
alatt, a példa kedvéért mondjuk legyen program.sh
, és feltételezem, hogy a program az /opt
alatt van. Ez nagyon buta, csak simán elindítja paraméterezve a programot:
#!/bin/sh
cd /opt/program
./program -kapcsolo1 -kapcsolo2
Ezt lehet szépen tesztelni, hogy megy-e (chmod +x
kell a fájljra, hogy futtatható legyen), ha igen, akkor lehet belőle rendszerszolgáltatást csinálni. Ehhez csinálni kell egy systemd unit fájlt a /etc/systemd/system/
könyvtárban, legyen mondjuk program.service
, ez pedig ezt tartalmazza:
[Unit]
Description=Example program
[Service]
ExecStart=/usr/bin/program.sh
[Install]
WantedBy=multi-user.target
Ha kész van a fájl (és helyes), akkor a következő parancoks után működni is fog az alkalmazás, és rendszerindításkor is el fog indulni:
systemctl daemon-reload
systemctl start program
systemctl enable program
Értelemszerűen a program neve behelyettesítendő, illetve végig azt feltételeztem, hogy rootként futtatod a parancsokat. Ez egy nagyon egyszerű példa, bőven van rajta mit csiszolni, szóval utána kell olvasnod, ha ezt meg akarod csinálni. Ez a hivatalos dokumentációja a unit fájloknak, kezdőként elég meredek, de vannak benne példák is: https://www.freedesktop.org/software/systemd/man/systemd.unit.html