CPULIMIT_FORK(1)

NAME
cpulimit_fork - 限制指定进程CPU使用率的工具

SYNOPSIS
cpulimit_fork PID PERCENT [OPTIONS]

DESCRIPTION
cpulimit_fork 是一个用于限制指定进程CPU使用率的工具，通过发送SIGSTOP和SIGCONT信号来控制进程的运行状态，确保其CPU使用率不超过设定的阈值。 该工具通过以下方式工作： - 监控目标进程的CPU使用时间（从/proc文件系统读取jiffies数据） - 维护一个循环缓冲区存储进程的CPU使用快照 - 动态计算进程的CPU使用率并与限制阈值比较 - 根据比较结果发送信号控制进程运行或暂停 - 自动适应系统CPU核心数量调整限制范围

ARGUMENTS

PID 目标进程的进程ID，必须是一个有效的非负整数。工具会验证该进程是否存在，并检查是否有控制权限。

PERCENT
    CPU使用率限制值（百分比），必须在1到系统CPU核心数×100之间。例如，在4核系统上，有效范围是1-400。

OPTIONS

--lazy
    启用惰性模式（默认）。当目标进程不存在或已终止时，工具会立即退出。

--no-lazy
    禁用惰性模式。当目标进程不存在或已终止时，工具会每2秒重试一次，直到进程出现。

-h, --help
    显示帮助信息并退出。

-v, --version
    显示版本信息并退出。

EXAMPLES

限制PID为1234的进程CPU使用率不超过50%：
    cpulimit_fork 1234 50

在4核系统上限制PID为5678的进程CPU使用率不超过200%（相当于总CPU的50%）：
    cpulimit_fork 5678 200

禁用惰性模式，持续等待并限制PID为9012的进程，使用率不超过30%：
    cpulimit_fork 9012 30 --no-lazy

FILES

/proc/[PID]/stat
    用于获取目标进程的CPU时间信息

/var/log/syslog
    记录工具运行日志，包括进程ID和限制值

NOTES
* 工具需要足够的权限才能向目标进程发送信号 * 不能用于限制自身进程（会提示错误并退出） * 退出时会自动发送SIGCONT信号恢复目标进程运行 * 限制精度依赖于系统时钟和调度机制

SEE ALSO
kill(1), top(1), proc(5), kylin-process-manager(1)

AUTHOR
Kylin操作系统开发团队

COPYRIGHT
Copyright © 2025 Kylin OS. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.