systemctl status zeigt inaktive tot
Ich bin versucht, zu schreiben, meine eigene (einfache) systemd-service, die hat einfach etwas.( Wie das schreiben von zahlen von 1 bis 10 in eine Datei, verwenden Sie das shell-Skript).
Mein service-Datei sieht wie folgt aus.
[Unit]
Description=NandaGopal
Documentation=https://google.com
After=multi-user.target
[Service]
Type=forking
RemainAfterExit=yes
ExecStart=/usr/bin/hello.sh &
[Install]
RequiredBy = multi-user.target
Dies ist mein shell-Skript.
#!/usr/bin/env bash
source /etc/profile
a=0
while [ $a -lt 10 ]
do
echo $a >> /var/log//t.txt
a=`expr $a + 1`
done
Aus irgendeinem Grund, den service nicht kommen und systemctl zeigt die unten Ausgabe.
root@TARGET:~ >systemctl status -l hello
* hello.service - NandaGopal
Loaded: loaded (/usr/lib/systemd/system/hello.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: https://google.com
Versucht herauszufinden, was falsch gelaufen ist, die letzten 2 Tage.
Könnte bitte jemand mir hier helfen?
Grüße,
nandanator
- Funktioniert der log-Datei alles drin? Sind Sie sicher, dass Sie schreiben können, um die Lage?
- machen Sie das Skript ausführbar, indem
chmod +x myScript
? Viel Glück. - Ja, es ist der Schreibzugriff.
- Ich denke, das Skript hatte den Schreibzugriff.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Type=Forking
, aber Ihr service nicht funktioniert. VersuchenType=oneshot
ExecStart
Linie, die ist nicht notwendig.disabled
, was bedeutet, es war nichtenabled
to start at boot. Führen Siesystemctl enable hello
um es zu starten beim Booten.Können Sie überprüfen
man systemd.directives
finden Sie einen index aller Richtlinien, die Sie verwenden können, in Ihremunit
- Dateien.Paar Punkte:
Wenn Sie
Type=forking
, ist es empfehlenswert, die PID-Datei angeben.In deinem Fall
Type=simple
, und ExecStart ohne&
arbeiten.verwenden
systemctl start service-name
um einen Dienst zu startenDann verwenden
systemctl status service-name
um dessen status zu überprüfen.status inaktiv/tot, wenn Dienst nicht gestartet ist.