Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Obecná podpora => Téma založeno: cvp 10 Ledna 2021, 09:28:57

Název: Spuštění *.sh souboru na pozadí
Přispěvatel: cvp 10 Ledna 2021, 09:28:57
Ahoj,
vytvořil jsem si soubor /home/pi/stream.sh a potřeboval bych ho spustit na pozadí. Aktuálně ho spouštím po restartu přes crontab -e jako
Kód: [Vybrat]
@reboot sleep 50 && /home/pi/stream.sh
Ale asi po 10 hodinách stream přestal fungovat a potřebuji ho spustit znovu. Restartovat kvůli tomu pokaždé nechci, tak že si jdu pro radu. Jde o Raspberry 2.

Nebo mně napadlo, script spustit při restartu a následně ho pouštět každých 6 hodin. Bude stačit pkill stream.sh k zastavení?
Název: Re:Spuštění *.sh souboru na pozadí
Přispěvatel: juwa2 10 Ledna 2021, 14:52:56
Udělej si jednoduchý watchdog script. Bude hlídat jestli ten proces běží a pokud ne, hned ho automaticky restartuje.
Kód: [Vybrat]
#!/bin/bash
result=1
while [ $result -ne 0 ]; do
    sleep 20; <název_procesu>
    result=$?
done

Tento watchdog script  přidej do aplikací spouštěných po přihlášení.
Název: Re:Spuštění *.sh souboru na pozadí
Přispěvatel: singularis 16 Ledna 2021, 07:02:02
Co znamená, že přestal fungovat? Pokud je ten skript dobře naprogramovaný, neměl by si skončit jen tak, pokud ho nějaký jiný proces „neodstřelí“. Takže doporučuji zavést si ladicí výpis na disk a zkoumat, co se stalo – tedy co a proč přestalo fungovat. Z toho pak vyplyne, jak to opravit.