diff --git a/README.md b/README.md index 0c82733..c323f11 100644 --- a/README.md +++ b/README.md @@ -1 +1,45 @@ - + + +# GDMP + +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. + +# Usage + +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](https://www-uxsup.csx.cam.ac.uk/courses/moved.Building/signals.pdf). + +A signal can be listened for by passing the name of the signal (excluding the sigpart): +```bash +# 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. +```bash +# 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. +```bash +# 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. +```bash +gdmp -int -w -s "echo 'hello!'" my_prog --my-prog-flags/args +``` + +Signal chaining can be used to apply modifiers to signals in bulk: +```bash +# 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 +``` + +# Compiling and installing +You can download a prebuilt binary from the [releases page](https://github.com/MrNavaStar/GDMP/releases). + +To compile the program for yourself you can run: +```bash +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.