README 998 Bytes
Newer Older
Petr Baudis's avatar
Petr Baudis committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
**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 SCM_CREDENTIALS ancilliary message. Then, it follows
with a CRLF-terminated command string and receives a CRLF-terminated
reply string. 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.