https://github.com/msantos/prv
pressure relief valve for Unix process pipelines
https://github.com/msantos/prv
capsicum flowcontrol pledge seccomp setrlimit
Last synced: 10 months ago
JSON representation
pressure relief valve for Unix process pipelines
- Host: GitHub
- URL: https://github.com/msantos/prv
- Owner: msantos
- License: isc
- Created: 2018-03-09T13:04:36.000Z (about 8 years ago)
- Default Branch: main
- Last Pushed: 2025-03-01T13:02:17.000Z (over 1 year ago)
- Last Synced: 2025-04-06T23:32:37.289Z (about 1 year ago)
- Topics: capsicum, flowcontrol, pledge, seccomp, setrlimit
- Language: C
- Size: 31.3 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# SYNOPSIS
prv *option*
# DESCRIPTION
prv: pressure relief valve for Unix process pipelines
prv flow controls standard input by sampling lines in a time window.
# EXAMPLES
```
while :; do date; done | prv -l 1 -w 10
Fri Aug 26 00:05:45 EDT 2022
Fri Aug 26 00:05:54 EDT 2022
Fri Aug 26 00:06:04 EDT 2022
^C
```
# BUILD
```
make
# build a static executable using musl
## sudo apt install musl-dev musl-tools
./musl-make clean all
# select a different method for process restriction
RESTRICT_PROCESS=null
# musl: enabling seccomp process restriction might require downloading a
# copy of linux kernel headers
MUSL_INCLUDE=/tmp
cd $MUSL_INCLUDE
git clone https://github.com/sabotage-linux/kernel-headers.git
./musl-make
```
# OPTIONS
-l, --limit *number*
: message rate limit (default: 0 (no limit))
-w, --window *seconds*
: message rate window (default: 1 second)
-W, --write-error *exit|drop|block*
: behaviour if write buffer is full
-v, --verbose
: verbose mode
-h, --help
: help