Ubuntu - Skript starten und steuern

werner

Suchtspielmacher (ehm.)
Registriert
20 Juli 2014
Beiträge
733
Ort
Mannheim
Moin moin,

ich bin etwas Ubuntu-doof und habe folgendes Problem:
Auf meinem RPI läuft ein manuell gestartetes sh Skript. Ein Stop Befehl gibt es nur soweit, als dass ich den (endlosen) prozess mit Strg+C abbreche bei Bedarf. (Das Skript läuft in einer Konsole die ich mittels screen erstellt habe)

Nun möchte ich eine Temperatursteuerung einbauen; wenn ein anderes Skript einen bestimmen Wert ausgibt, dann soll das obige Skript abgebrochen werden. Sollte die Temperatur nun wieder gefallen sein, soll das erste Skript wieder gestartet werden.

Wie setze ich das um? Ein cronjob, das bekomme ich hin, nur weiß ich nicht, wie ich das logisch steuern kann. (Das nächste kleine Problem ist, dass das Skript die Temperatur im Format temp=54.1'C zurückgibt)

Danke für jede Hilfe.

LG
 
Wenn das erste Skript den Output des zweiten (Temperatur?)-Skripts abfragen / einlesen kann, könntest Du dein erstes Skript so gestalten:

  1. eine Schleife starten (die vermutlich eh schon da ist, wenn Du es mit CTRL-C abbrechen musst?)
  2. als erstes den Wert aus dem zweiten Skript abfragen
  3. wenn Temperatur aus zweitem Skript ok -> dann einmal Ausführen des eigentlichen Zwecks des ersten Skripts
  4. wenn Temperatur nicht ok -> weiter mit 1.

So würde der Zweck des ersten Skripts nie ausgeführt, solange die Temperatur außerhalb des gewünschten Bereichs ist.
 
An die Temperatur der Zahl in einer Variable kämst du beispielsweise so:

[src=bash]temperatur = `tempscript.sh | sed -re "s/^temp=([0-9]+)\..*C/\1/"`[/src]

(ungetestet, aber die Regex dürfte so funktionieren.)

Dann könntest du

[src=bash]while [ $temperatur -lt 38 ] do … done[/src] als deinen while-loop benutzen, der dann nur ausgeführt wird, wenn die Temperatur kleiner 38°C ist.

EDIT: In Systemd-Distributionen nutzt man übrigens keine cronjobs mehr, sondern systemd-Services.
 
  • Thread Starter Thread Starter
  • #4
Das Skript welches ich mit Strg+C abbreche ist ein Programm, genauer gesagt minerd, welches ich über eine sh Datei aufrufe, um Parameter zu übergeben.

Danke für die Antworten, ich werde mich beizeiten hinsetzen und es testen :T
 
@werner: Wenn du Angst hast, dass dein Miner Daemon deine CPU grillt - ist die unbegründet. Die CPUs haben seit Jahrzehnten Not-Drosselungen und -Abschaltungen implementiert, wenns ihnen zu warm wird. Wirst du bei ca. 70°C merken...
 
Zurück
Oben