CatJ
A light process isolation sandbox used for Competitive Programming contest.
Features
- cgroups: Record cpu and memory usage (may fall back to getrusage)
- mount and chroot: Created an isolated file system
- setrlimit: Set resource limits (cpu, address size, stack size, file size)
- setuid and setgid: Run submission under another user and group
- ptrace: Filter submission syscall
Note
To enable all of above features, it is highly recommended to use it under the root user, otherwise it may fall back automatically.
Installation
# Install using cargo
# Or you can download binary with installation script
|
# Check installation
# Init cgroup for current user
Usage
# Compile C++ source code
# Run a.out
# Generate report
# or
License
MIT License © 2023 XLor