Memory caps, run time limits, sleep inhibitors, better cron and path units - systemd features that turn out to be handy for running throwaway agent-written code.
There is an ancient fully user-space simple tool called netbrake that works by LD_PRELOADING a library that overrides some functions like recv/sendto (similar to eatmydata’s approach*). It may just work if you don’t have special requirements. If you’re curious, you can see the full list of overridden symbols with:
readelf -s /path/to/libnetbrake.so | grep -v UND
If you want a possibly fail-safe (kernel level) solution, you may find with a web search a helpful approach combining tc with cgroups.
Neither solutions need systemd.
* The realization that people growing up with SSD’s probably never heard of eatmydata just sunk in.
Thanks for the tip. I will look into it. My use case would be to limit download speed for applications that do not have such a setting (such as Firefox, just an example).
There is an ancient fully user-space simple tool called netbrake that works by LD_PRELOADING a library that overrides some functions like recv/sendto (similar to eatmydata’s approach*). It may just work if you don’t have special requirements. If you’re curious, you can see the full list of overridden symbols with:
If you want a possibly fail-safe (kernel level) solution, you may find with a web search a helpful approach combining tc with cgroups.
Neither solutions need systemd.
* The realization that people growing up with SSD’s probably never heard of eatmydata just sunk in.
Thanks for the tip. I will look into it. My use case would be to limit download speed for applications that do not have such a setting (such as Firefox, just an example).
You can use the cliget extension which generates full CLI commands for major CLI tools. Such tools have many options (e.g. curl’s --rate-limit).
Firefox was just one example of tool that doesn’t provide a limit by itself. I’m looking for a solution that could be applied to any program.