[gelöst] Eigenes Upstart-Script / Script starten nach Beendigung eines vorher über wmdrawer gestarteten Programms

  • Ich starte ein Programm über den Button an der linken Bildschirmseite
    (aufgerufen wird es in /etc/wmdrawer/tools und konfiguriert über eine exec-Zeile in /etc/init/PROGRAMM.conf, analog firefox.conf)

    Wie bzw. wo kann ich den Aufruf eines Scripts einfügen, das erst NACH Beendigung vom PROGRAMM ausgeführt werden soll.

    Edited 2 times, last by mike777 (June 4, 2014 at 9:48 PM).

  • Wie bzw. wo kann ich den Aufruf eines Scripts einfügen, das erst NACH Beendigung vom PROGRAMM ausgeführt werden soll.


    Für sowas lohnt sich ein Blick in die Upstart-Dokumentation: http://upstart.ubuntu.com/cookbook/
    Wenn man sich den Upstart-Job für Firefox so ansieht, findet man doch sehr schnell eine Stelle, die damit zu tun haben könnte:

    Code
    post-stop script
    /bin/rm -f /tmp/.standalone
    if [ ! -z $STANDALONE ] ; then
    vdr-dbus-send /Remote remote.Enable ||:
    /sbin/initctl emit --no-wait vdr-frontend-restart
    fi
    end script

    Und wenn man dann noch die Upstart-Dokumentation zum Stoppen eines Jobs ansieht ist es doch eigentlich klar...

    Ansonsten kann man natürlich auch einen weiteren Upstart-Jop erzeugen, der so eine Startbedingung hat:

    Code
    start on stopped PROGRAMM
    Meine VDRs

    VDR 1: Intel DH67BL, Celeron 540, 4 GB Ram, POV Geforce GT 1030, Ubuntu 24.04 (yavdr-ansible), VDR 2.7.4, CIR-Empfänger
    VDR 2: Acer Revo 3610, Pinnacle PCTV SAT 452e, Medion X10, yaVDR 0.6
    Client 1: Raspberry Pi 2, Ubuntu 22.04 (yavdr-ansible), VDR 2.6.1

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Also: Der "post-stop"-Abschnitt ist vorhanden, somit gehe ich davon aus, dass er auch gespawned, also aufgerufen wird.

    Das würde für mich bedeuten, ich mach innerhalb dieses Abschnittes meinen Befehl zum Aufruf des Scripts rein:

    Leider ist das wohl zu einfach gedacht, da "mein-script.sh" nicht ausgeführt wird (habe zum Prüfen einfach mal ein "/usr/bin/touch /tmp/xyz" reingemacht: Die Datei xyz wird nicht unter /tmp angelegt, wenn ich z. B. Firefox schließe.

  • Zeig doch mal bitte den erstellten Upstart-Job /etc/init/PROGRAMM.conf, das Skript, das ausgeführt werden soll und /var/log/upstart/PROGRAMM.log

    Meine VDRs

    VDR 1: Intel DH67BL, Celeron 540, 4 GB Ram, POV Geforce GT 1030, Ubuntu 24.04 (yavdr-ansible), VDR 2.7.4, CIR-Empfänger
    VDR 2: Acer Revo 3610, Pinnacle PCTV SAT 452e, Medion X10, yaVDR 0.6
    Client 1: Raspberry Pi 2, Ubuntu 22.04 (yavdr-ansible), VDR 2.6.1

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Code
    Ich starte ein Programm über den Button an der linken Bildschirmseite
    (aufgerufen wird es in /etc/wmdrawer/tools und konfiguriert über eine exec-Zeile in /etc/init/PROGRAMM.conf, analog firefox.conf)

    damit wird das skript doch garnicht aufgerufen, weil das frontend läuft ja weiter.
    firefox.conf gibt es nur soweit ich gerade weiss über das vdr menu, weil das frontend dann "beendet" wird.

    über das linke menu wird firefox eben nur "über" dem tv bild geöffnet

  • Des Rätsels Lösung:

    Mein eigener Upstart-Job für PROGRAMM war nicht richtig eingerichtet. Das hab ich jetzt nachgeholt und schon wird "mein-script.sh" auch ausgeführt und /tmp/xyz angelegt.

    1.: cd /etc/yavdr/templates_custom/etc/init
    2.: Per "vi 02_header" neues Header-File anlegen. Inhalt: Standard-Header, z. B.:


    03: Per "vi 10_main" Datei anlegen mit Inhalt z. B. aus firefox-Vorlage und die exec-Zeile anpassen (hier opera als Beispiel):


    4: Per "process-template /etc/init/PROGRAMM.conf" aus 02_header und 10_main die /etc/init/PROGRAMM.conf Job-Datei erzeugen lassen
    5: Ggf noch "initctl reload-configuration"

    Edited once, last by mike777 (June 4, 2014 at 10:19 PM).

  • Naja ein custom Template braucht es eigentlich nicht dafür, da kann man auch direkt eine /etc/init/PROGRAMM.conf erstellen, wenn es noch keine Templates unter /usr/share/yavdr/templates/etc/init/PROGRAMM.conf/ gibt :)

    Meine VDRs

    VDR 1: Intel DH67BL, Celeron 540, 4 GB Ram, POV Geforce GT 1030, Ubuntu 24.04 (yavdr-ansible), VDR 2.7.4, CIR-Empfänger
    VDR 2: Acer Revo 3610, Pinnacle PCTV SAT 452e, Medion X10, yaVDR 0.6
    Client 1: Raspberry Pi 2, Ubuntu 22.04 (yavdr-ansible), VDR 2.6.1

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!