Skip to content

A shutdown daemon for FreeBSD lurking for push button events on a GPIO port

License

Notifications You must be signed in to change notification settings

cyclaero/shutdd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 

Repository files navigation

[ACTION REQUIRED] Your GitHub account, cyclaero, will soon require 2FA

Here is the deal: https://obsigna.com/articles/1693258424.html


shutdd

A shutdown daemon for FreeBSD lurking for push button events on a GPIO port

Compile:

clang -g0 -O3 -fsigned-char shutdd.c -lgpio -lpthread -s -o /usr/local/bin/shutdd

Usage:

usage: shutdd [-p file] [-f] [-n] [-b bank] [-g line] [-i interval] [-h]
 -p file     the path to the pid file [default: /var/run/shutdd.pid]
 -f          foreground mode, don't fork off as a daemon.
 -n          no console, don't fork off as a daemon.
 -b bank     GPIO bank id [0-4, default: 0].
 -g line     GPIO line id [0-53, default: 27].
 -i interval multiple push interval [0-2000 ms, default: 750 ms].
 -h          shows these usage instructions.

shutdd does not poll the state of the GPIO port, but instead utilizes FreeBSD's user space interface for GPIO interrupts for lurking on state changes of the GPIO line - default GPIO0.27. Therefore, no significant load is imposed on the CPU's.

A single push causes the system to shutdown.
A double push causes the system to restart.
A triple push causes the system to enter single user mode.

About

A shutdown daemon for FreeBSD lurking for push button events on a GPIO port

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages