včera, 2:52
Mne sa ani po niekoľkých hodinách nepodarilo rozbehať na Raspberry Pi 5 ukončenie Kodi kvôli addonu service.sc.helper.
Preto som spravil jednoduchý watchdog, ktorý sleduje súbor: kodi.log
V prípade, že sa v ňom objaví záznam: service.sc.helper/service.py a zároveň script didn't stop in 5 seconds
tak po 5 sekundách odošle príkaz: killall -9 kodi.bin
Vytvorenie súboru
Uprav si cestu k logu, ak ju máš inú: $HOME/.kodi/temp/kodi.log
Nastav práva
Vytvor systémovú službu.
Ak máš skript umiestnený inde, nezabudni zmeniť cestu.
Reloadni systemd daemon a spusti watchdog.
Nakoniec skontroluj, či služba beží.
Pre mňa to bolo extrémne otravné, keďže mám Raspberry Pi pripojené k TV a vždy, keď som chcel vypnúť Kodi, som musel ísť po notebook alebo telefón, aby som cez SSH ručne zabil proces Kodi.
Preto som spravil jednoduchý watchdog, ktorý sleduje súbor: kodi.log
V prípade, že sa v ňom objaví záznam: service.sc.helper/service.py a zároveň script didn't stop in 5 seconds
tak po 5 sekundách odošle príkaz: killall -9 kodi.bin
Vytvorenie súboru
Kód:
sudo nano /usr/local/bin/kodi-watchdog.shUprav si cestu k logu, ak ju máš inú: $HOME/.kodi/temp/kodi.log
Kód:
#!/bin/bash
LOG="$HOME/.kodi/temp/kodi.log"
while [ ! -f "$LOG" ]; do
sleep 1
done
tail -F "$LOG" | while read -r line
do
echo "$line" | grep -q "service.sc.helper/service.py"
if [ $? -eq 0 ]; then
echo "$line" | grep -q "script didn't stop in 5 seconds"
if [ $? -eq 0 ]; then
logger "Kodi watchdog: detected freeze condition -> killing Kodi"
killall -9 kodi.bin
exit 0
fi
fi
doneNastav práva
Kód:
sudo chmod +x /usr/local/bin/kodi-watchdog.shVytvor systémovú službu.
Kód:
sudo nano /etc/systemd/system/kodi-watchdog.serviceKód:
[Unit]
Description=Kodi watchdog
After=graphical.target
[Service]
Type=simple
User=app_gui
ExecStart=/usr/local/bin/kodi-watchdog.sh
Restart=always
RestartSec=2
StandardOutput=null
StandardError=null
[Install]
WantedBy=multi-user.targetReloadni systemd daemon a spusti watchdog.
Kód:
sudo systemctl daemon-reload
sudo systemctl enable kodi-watchdog.service
sudo systemctl start kodi-watchdog.serviceKód:
systemctl status kodi-watchdog.service
