**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.