After adding a button with resistors (there are lots of other resources about that). I wanted a version using systemd.
The gpio testing script is using wiringpi.
Add this as
#!/bin/bash pin=29 # pin 40 (internal: 21) on raspi layout gpio mode $pin in gpio wfi $pin both logger Shutdown button pressed shutdown -h now
gpio wfi 21 both is blocking until the pin changes its state.
And the systemd service as:
[Unit] Description=button shutdown service [Service] ExecStart=/root/pin-shutdown.sh Restart=on-failure [Install] WantedBy=multi-user.target
Enable the systemd service with:
systemctl enable button-shutdown