On 10/17/2016 22:47, Tinker wrote:
[...]
If you have any thought about how make that happen feel free to share.
Anyhow in the absence of any such logic, just doing a
hardware reset is fine, it's just a bit constrained as
it comes without automated reporting&recording that
could be used to distinguish hardware/kernel issues
from userland issues, which encourages hardware
replacement and userland software debugging beyond what's really
necessary.
Tinker
The first option you should consider (if not already mentioned)
is a serial link from the console port to another system.
One could then construct some sort of periodic probe & response.
On failure, break into DDB and dump state, sync disks, and reboot.
One possibility would be to start a very small user process at
the highest prioritycommunicating with a process at normal
or slightly below priority.
The lower priority process would send a message every N seconds.
At T + (say) 10N the high priority process would kick off whatever
action you want.
Saving state to disk in a hung system is problematic.
Network communication is chancy.
Serial communication is ancient but effective.
Geoff Steckel