[gelöst] systemctl Verständnisfrage is-active Abfrage

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
Benutzeravatar
Drache
Beiträge: 772
Registriert: 22.11.2009 05:49:55

[gelöst] systemctl Verständnisfrage is-active Abfrage

Beitrag von Drache » 27.03.2018 20:08:10

Hallo,

ich bin auf der Suche nach einer Möglichkeit im Terminal den Status eines Dienstes abzurufen und dann entsprechend der Antwort bestimmte Kommandos auszuführen.

Hintergrund: ich möchte einen Proxy auf meinem Rechner installieren, den aber nur einschalten, wenn es mir passt. Über Sinn und Zweck bitte nicht sinnieren, mir geht es in erster Linie um die (heute) korrekte Anlage eines solchen Befehls und nicht um den Sinn oder Unsinn eines solchen Vorgehens

Mein altes Skript dazu sah etwa folgendermaßen aus:

Code: Alles auswählen

if [ "$(pgrep -x polipo)" = "" ]
 then
 mach irgendwas
 else
 mach sawdnegri
fi
also ein simpler Umschalter.

Erstens: mit systemd/systemctl kann ich manuell den status der Dienste abfragen … wie mache ich das im Bash-script? Also was ist heute die richtige Alternative in den eckigen Klammern?

Zweitens: früher habe ich den Dienst dann mit /etc/init.d/bla gestartet … und beim Systemstart mit rcconf (oder so) zuvor deaktiviert … wie geht das mit systemctl? Tut disable polipo.service, das? Ich bin mir nach der Lektüre der manpage dabei nicht ganz sicher, bzw. weiß nicht ob das Löschen der Links mit enable wieder rückgängig gemacht wird.

Drittens: nach enable müsste ich dann noch separat ein systemctl start hinterherschicken, oder denke ich da falsch?

LG und Danke.
Zuletzt geändert von Drache am 31.03.2018 12:52:01, insgesamt 1-mal geändert.
“Don't you think that if I were wrong, I'd know it?” (Dr. Sheldon Cooper)
XFCE: alt,steinhart,langweilig,immer noch da.

NAB
Beiträge: 5501
Registriert: 06.03.2011 16:02:23
Lizenz eigener Beiträge: MIT Lizenz

Re: systemctl Verständnisfrage

Beitrag von NAB » 27.03.2018 22:05:39

Drache hat geschrieben: ↑ zum Beitrag ↑
27.03.2018 20:08:10
Erstens: mit systemd/systemctl kann ich manuell den status der Dienste abfragen … wie mache ich das im Bash-script? Also was ist heute die richtige Alternative in den eckigen Klammern?
probiere mal
systemctl is-active --quiet bla
echo %?
(hab ich noch nie benutzt, soll aber laut man page funktionieren)
Drache hat geschrieben: ↑ zum Beitrag ↑
27.03.2018 20:08:10
Zweitens: früher habe ich den Dienst dann mit /etc/init.d/bla gestartet … und beim Systemstart mit rcconf (oder so) zuvor deaktiviert … wie geht das mit systemctl? Tut disable polipo.service, das? Ich bin mir nach der Lektüre der manpage dabei nicht ganz sicher, bzw. weiß nicht ob das Löschen der Links mit enable wieder rückgängig gemacht wird.
Mit enable und disable sorgst du dafür, dass der Dienst beim Booten automatisch gestartet wird (oder halt nicht). Das willst du nicht, so wie ich dich verstehe. Du willst ihn nur mit start und stop durch deinen Umschalter starten und stoppen.
Never change a broken system. It could be worse afterwards.

"No computer system can be absolutely secure." Intel Document Number: 336983-001

Benutzeravatar
Drache
Beiträge: 772
Registriert: 22.11.2009 05:49:55

Re: systemctl Verständnisfrage

Beitrag von Drache » 28.03.2018 18:53:49

Hallo NAB,

danke für die Antwort.
NAB hat geschrieben: ↑ zum Beitrag ↑
27.03.2018 22:05:39
probiere mal
systemctl is-active --quiet bla
echo %?
(hab ich noch nie benutzt, soll aber laut man page funktionieren)
Coole Sache … ich habe es zwar nicht so hingekriegt wie erwartet, weil ich tatsächlich auch mit dem echo-Befehl nicht klar gekommen bin bzw. beim rumprobieren nicht klar gesehen habe wie ich das anordnen sollte, aber wenn ich das quiet weglasse, bekomme ich jeweils eine eindeutige Antwort und damit sollte sich mit einer case-Anweisung dann ja unterschiedliche Reaktionen realisieren lassen … Mal sehen.
NAB hat geschrieben: ↑ zum Beitrag ↑
27.03.2018 22:05:39
Mit enable und disable sorgst du dafür, dass der Dienst beim Booten automatisch gestartet wird (oder halt nicht). Das willst du nicht, so wie ich dich verstehe. Du willst ihn nur mit start und stop durch deinen Umschalter starten und stoppen.
Verstehe ich das richtig, dass ich auch mit disable abgedrehte Dienste mit start starten kann?
“Don't you think that if I were wrong, I'd know it?” (Dr. Sheldon Cooper)
XFCE: alt,steinhart,langweilig,immer noch da.

NAB
Beiträge: 5501
Registriert: 06.03.2011 16:02:23
Lizenz eigener Beiträge: MIT Lizenz

Re: systemctl Verständnisfrage

Beitrag von NAB » 28.03.2018 20:09:57

Shit ... sorry ... ich hab da einen Tippfehler reingehauen. Es sollte heißen:

Code: Alles auswählen

echo $?
also dir einfach den Rückgabewert von systemctl ausgeben.
Drache hat geschrieben: ↑ zum Beitrag ↑
28.03.2018 18:53:49
Verstehe ich das richtig, dass ich auch mit disable abgedrehte Dienste mit start starten kann?
Ja! (bzw. wenn du es nicht kannst, würd ich mich fragen, was mit deinem Dienst oder deinem Systemd nicht stimmt)
Never change a broken system. It could be worse afterwards.

"No computer system can be absolutely secure." Intel Document Number: 336983-001

Benutzeravatar
Drache
Beiträge: 772
Registriert: 22.11.2009 05:49:55

Re: systemctl Verständnisfrage

Beitrag von Drache » 31.03.2018 12:51:16

NAB hat geschrieben: ↑ zum Beitrag ↑
28.03.2018 20:09:57
Shit ... sorry ... ich hab da einen Tippfehler reingehauen. Es sollte heißen:

Code: Alles auswählen

echo $?
also dir einfach den Rückgabewert von systemctl ausgeben.
LOL, und ich habe schon die manpage von systemctl, echo und bash nach der passenden Bedeutung von % durchsucht.

Läuft inzwischen

Dankeschön.
“Don't you think that if I were wrong, I'd know it?” (Dr. Sheldon Cooper)
XFCE: alt,steinhart,langweilig,immer noch da.

Antworten