Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.

Autor Téma: Spuštění *.sh souboru na pozadí  (Přečteno 218 krát)

cvp

  • Člen
  • **
  • Příspěvků: 211
    • Zobrazit profil
Spuštění *.sh souboru na pozadí
« kdy: 10 Leden 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í?
« Poslední změna: 10 Leden 2021, 09:56:15 od cvp »

juwa2

  • Závislák
  • ****
  • Příspěvků: 3973
    • Zobrazit profil
Re:Spuštění *.sh souboru na pozadí
« Odpověď #1 kdy: 10 Leden 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í.
« Poslední změna: 10 Leden 2021, 14:58:17 od juwa2 »

singularis

  • Člen
  • **
  • Příspěvků: 127
    • Zobrazit profil
Re:Spuštění *.sh souboru na pozadí
« Odpověď #2 kdy: Dnes v 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.