Cum sa creezi si sa rulezi un program la startup utilizand systemd Linux

Configurare noua (How To)

Situatie

Software-ul systemd oferă o modalitate de a face acest lucru pe orice distribuție Linux cu systemd – care este cea mai mare parte din aceste zile, inclusiv Ubuntu.

Programele lansate la pornire sunt controlate de systemd, de managerul de sistem și de servicii. Systemd este primul proces care rulează la pornire. Are întotdeauna ID proces (PID) 1. Orice alt proces care rulează în computerul dvs. este pornit de systemd sau de un proces pe care systemd l-a început deja.

Solutie

Pasi de urmat

Trebuie să avem un program pe care systemd îl va lansa. Vom crea un script simplu, numit „htg.sh”. Se va utiliza editorul de text Gedit, dar puteți utiliza orice editor de text preferați.

touch htg.sh
gedit htg.sh

Editorul gedit se va deschide. Copiați și lipiți următorul text în editor.

#!/bin/bash

echo "htg.service: ## Starting ##" | systemd-cat -p info

while :
do
TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%S')
echo "htg.service: timestamp ${TIMESTAMP}" | systemd-cat -p info
sleep 60
done

Salvați modificările și închideți editorul.

Scenariul nu face mult, dar sunt câteva puncte demne de remarcat.

  • Cele două linii echo sunt transmise prin systemd-cat, un program care preia ieșirea dintr-un program și îl trimite către jurnal. Intrările în jurnal au prioritate. Folosim opțiunea -p (prioritate) pentru a indica faptul că mesajele noastre sunt doar pentru informare (informații). Nu sunt erori sau avertismente importante.
  • Există o buclă interminabilă while
  • Variabila TIMESTAMP este setată la data și ora curente. Acesta este formatat într-un mesaj și trimis în jurnal.
  • Scriptul va fi pe sleep 60 de secunde.
  • După 60 de secunde, bucla se repetă. Deci, acest script scrie un mesaj marcat de timp în jurnal o dată pe minut.

Vom copia scriptul în directorul /usr/local/bin.

sudo cp htg.sh /usr/local/bin

Și trebuie să-l facem executabil:

sudo chmod +x /usr/local/bin/htg.sh

Tip solutie

Permanent

Voteaza

(13 din 35 persoane apreciaza acest articol)

Despre Autor

Leave A Comment?