Why the error "device or resource busy"
The problem I discovered was that systemd and wd_keepalive seemed to use the watchdog resource for each fuser output:
>sudo fuser -v /dev/watchdog USER PID ACCESS COMMAND /dev/watchdog: root 15087 F.... wd_keepalive
and
>sudo fuser -v /dev/watchdog USER PID ACCESS COMMAND /dev/watchdog: root 1 F.... systemd
Fix busy error
I removed the watchdog links from /etc/systemd/system.conf to get rid of the busy problem in systemd busy system.
If you feel brave, you can kill -9 your PID wd_keepalive and then direct your character to /dev/watchdog if you want to manually control the gatekeeper. I prefer to just let the demon do its job.
Configuring a watchdog timer running on a Pi operating in Stretch mode 12/17/18
Unlike some other suggestions for SO and network, I did not need to set the watchdog timer as a device on the Pi, for example, in /boot/config.txt . I also did not need to call any services, except through systemctl. I just ran
sudo apt-get install watchdog sudo update-rc.d watchdog defaults
Then, to set the watchdog timer, I put these lines in /etc/watchdog.conf
watchdog-device = /dev/watchdog # Set default Timeout watchdog-timeout = 14
Launch Watchdog
Then the only thing I needed to do to use watchdog was to call this from my application, which I launch after loading:
sudo systemctl enable watchdog sudo systemctl start watchdog sudo systemctl -l status watchdog
source share