我有一段用户空间代码解析/ proc/PID/task/TID/stat来获取cpu用法.我可以使用HZ来获取每秒的jiffies,但是这段代码可以移动到具有不同配置值的另一台机器.有没有办法在运行时从用户空间获取HZ的值?
背景:
我有一个linux [1]系统管理一系列第三方守护进程,其中交互仅限于shell [2] init脚本,即只有{start | restart | stop | status}可用.
问题:
进程可以假定先前运行的进程的PID,通过检查正在运行的进程的PID来检查进程的状态.
示例:
过程A使用PID 123运行,随后死亡,过程B使用PID 123进行初始化,状态命令以非真实(错误)"OK"响应.换句话说,我们只检查来自其PID的进程是否存在以验证进程是否正在运行,我们假设如果存在具有此PID的进程,则它是有问题的进程.
建议的解决方案:
除了存在使用该PID运行的进程之外,是否有标准方法来批准进程/ PID文件的真实性?即我(作为系统)想要知道你(过程)是否正在运行,以及你是否是我认为你是谁(A而不是B).
假设我们选择实施上面提出的第二个解决方案,PID创建时间和过程开始时间之间的置信区间/增量是否合理?在这里,合理意味着类型1 /类型2错误之间可接受的折衷.
[1] CentOS/RHEL [2] Bash