diff --git a/templates/hobbes/kiosk.sh.j2 b/templates/hobbes/kiosk.sh.j2 old mode 100755 new mode 100644 index e9c7944..5d31810 --- a/templates/hobbes/kiosk.sh.j2 +++ b/templates/hobbes/kiosk.sh.j2 @@ -16,10 +16,11 @@ fbi_pid=0 # Function to be executed on SIGTERM on_sigterm() { echo "SIGTERM received, exiting..." - # Kill the fbi process with the stored PID - if [ $fbi_pid -ne 0 ]; then - sudo kill $fbi_pid - fi + + # Kill the fbi process + # As the process forks itself, we do not get a reliable PID and killall is needed + killall fbi + # Remove the temporary file rm -f /tmp/grafana.png exit 0 @@ -34,13 +35,8 @@ do mosquitto_sub -h $BROKER -t $TOPIC -C 1 > /tmp/grafana.png # Kill the previous fbi process - if [ $fbi_pid -ne 0 ]; then - sudo kill $fbi_pid - fi - - # Display the image using fbi - fbi -T 1 -noverbose -a /tmp/grafana.png & - fbi_pid=$! + # As the process forks itself, we do not get a reliable PID and killall is needed + killall fbi # Wait to avoid a race condition between # fbi starting and mosquitto truncating the file