| 场景 | 给临时任务设资源上限 |
|---|---|
| 组合 | ( ulimit ...; 命令 ) 子 shell 沙箱 |
常用护栏
常用护栏
( ulimit -v 2000000; ulimit -u 512; timeout 600 ./heavy.sh )
# -v 虚拟内存 KB;-u 进程数;timeout 总时长
echo "exit=$?" # 137/124 等对应被杀/超时CPU 时间上限
CPU 时间上限
( ulimit -t 300; ./cpu-hog.sh ) # 超过 300 秒 CPU 时间被 SIGXCPU长期正确的做法:systemd 单元里 MemoryMax/CPUQuota/TasksMax,比 ulimit 更精确(cgroup 计量)。