yahm-ctl braucht zwingend echtes Terminal? background aufruf schlägt fehl

Einrichtung, Nutzung und Hilfe zu YAHM

Moderator: Co-Administratoren

Antworten
marcelser
Beiträge: 2
Registriert: 11.03.2018, 01:40

yahm-ctl braucht zwingend echtes Terminal? background aufruf schlägt fehl

Beitrag von marcelser » 10.03.2019, 16:36

Hallo Leute,

Hab mal ne etwas ungewöhnliche Frage: Ich möchte gerne zu systemüberwachungszwecken "yahm-ctl info" ausführen aber dieses script treibt mich in den Wahnsinn. Es scheint also ob "yahm-ctl info" nur dann läuft wenn es ein echtes physisches Terminal mit stdout/stderr hat. Ansonsten stürzt es nach dem laden library /opt/YAHM/share/include.sh einfach ab.

Ich hab schon unzählige Arten versucht das script im Background (also über ein Systemüberwachungstool, cronjobs, etc.) auszuführen. Unter anderem habe ich versucht:
1. shell script mit und ohne output redirection auf ein File
2. perl script mit output capturing
2. perl script mit forking
2. perl script mit Expect pseudo-tty
2. perl script mit IPC::Run3
3. screen mit -L option

und egal was ich mache. Führe ich diese genannten script lokal vom ssh terminal aus. generiert yahm-ctl info den gewünschten output und man kann die Zeile "State: RUNNING" auswerten. Aber läuft eines dieser script in der crontab oder wird über monit (systemüberwachung) aufgerufen stürzt das yahm-ctl nach dem sourcen von /opt/YAHM/share/include.sh einfach ohne Error Meldung einfach ab und ich hab keine Ahnung was ich noch machen könnte um im Background das script auszuführen und einen vernünftigen output zu kriegen. Es scheint als ob yahm-ctl irgendwie ein phyisches terminal braucht oder zumindest irgendetwas was das Terminal zur Verfügung stellt damit es sauber läuft.

Hat irgendein Linux guru noch ne Idee wie ich "yahm-ctl info" in einem cron oder über monit laufen lassen kann? Ich hab mir jetzt wirklich stundenlang die Zähne dran ausgebissen und habe keine Option mehr. Ich weiss nicht genau was der Grund ist dass yahm-ctl abstürzt aber wenn man vor und nach dem "source /opt/YAHM/share/include.sh" befehl ein echo Befehl reinmacht und "yahm-ctl info" z.B. über ein shell script ausführt und den output in ein file umleitet wird man feststellen dass der Befehl perfekt funktioniert wenn ich das shell script in der ssh konsole ausführe. Packe ich das shell script jedoch in einen cronjob dann stürzt yahm-ctl info ab, beides als root user.

EDIT: lxc-info -n yahm welches ja im yahm-ctl info aufgerufen wird, aufzurufen löst mein problem, trotzdem wäre es interessant zu wissen was im Firmware/Module Bereich passiert was das ganze abstürzen lässt wenn es nicht in einem Terminal läuft

Antworten

Zurück zu „YAHM“