README 971 Bytes
Newer Older
Petr Baudis's avatar
Petr Baudis committed
1 2 3 4 5 6 7 8 9 10 11 12
**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
13 14 15
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.
Petr Baudis's avatar
Petr Baudis committed
16 17 18 19 20 21

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.