**Computations under control** will run a specificed program as a non-interactive computation process, allowing it to be listed and regulated by the user of the computer. To avoid needless use of setuid, it uses a simple client-server architecture. On boot, compctld daemon is started (as root), sets up the cgroup infrastructure and accepts requests from clients for moving a process to cgroup, killing a cgroup'd process and tweaking the cgroup limits. The client compctl interface simply queries the server using a synchronous protocol over a UNIX socket. First, the client sends a command string message coupled with a SCM_CREDENTIALS ancilliary message. Then, it receives a reply message. Connection is closed immediately on breach of protocol. You can tweak some simple compile-time configuration variables in file 'common.h'. Build everything using the `make` command. Then, arrange compctld to be run on boot and put compctl in $PATH for your users to enjoy.
Select Git revision
compctl-kam
-
-
- Open in your IDE
- Download source code
Name | Last commit | Last update |
---|---|---|
.gitignore | ||
Makefile | ||
README | ||
README.client | ||
cgroup.c | ||
cgroup.h | ||
common.h | ||
compctl.c | ||
compctld.c |