Get Down Mr President is an easy to use signal/io filtering application for unix! It can be run in conjuction with any other command.
You can catch most unix signals sent to an application, excluding only special signals such as SIGKILL. You can find a full list of signals here.
A signal can be listened for by passing the name of the signal (excluding the sigpart):
# listen for SIGINT or ctr+c
gdmp --int my_prog --my-prog-flags/args
You can block a signal from reaching the program by passing -x after the signal name.
# Block SIGINT or ctrl+c
gdmp --int -x my_prog --my-prog-flags/args
You can write to a programs stdin when a signal is captured. This works regaurdless if the signal is blocked or not.
# Write "hello program!" to stdin on SIGINT or ctrl+c
gdmp --int -x -w "hello program!" my_prog --my-prog-flags/args
You also run a bash command when a signal is captured.
gdmp --int -w -s "echo 'hello!'" my_prog --my-prog-flags/args
Signal chaining can be used to apply modifiers to signals in bulk:
# Block SIGINT, SIGTERM, SIGHUP and write "wow!" to stdin on SIGUSR1 or SIGUSR2.
gdmp --int --term --hup -x --usr1 --usr2 -w "wow!" my_prog --my-prog-flags/args
You can download a prebuilt binary from the releases page.
To compile the program for yourself you can run:
git clone https://github.com/MrNavaStar/GDMP.git
sudo make install
The program is a signal binary and will be installed to /usr/local/bin. The make file also provides make uninstall
to remove the program for you.