在linux内核模式下,如何检测进程?
我需要创建一个用户模式的过程。 这个过程必须在内核模式下被检测到,以发送到Linux内核中的FIFO队列(SCHED_FIFO)。
我一直在调查,如果你使用了位于core.c中的函数void scheduler_tick(void)
(我认为scheduler_tick被系统每次调用cpu的时钟调用),我可以捕获这个过程。
我的问题是如果这是正确的,或者如果有更好的方法。
Scheduler_tick代码:http://lxr.free-electrons.com/ident?i=scheduler_tick
该工作基于多层次队列,其中将引入一系列不同的流程(我们有:支付流程,取消流程,预订流程和事件流程)。 这些流程对系统具有不同的优先级。
因此,当我创建一个流程时,例如支付流程,我需要检测流程,因为我需要知道哪种类型是您的优先级。
因此要评论使用void scheduler_tick函数来检测进程的想法。
我不知道我是否解释得很好...
非常感谢你。
创建用户进程不是内核问题。 所有创建的用户进程都是从init进程或其子进程派生的。
你不需要在内核中这样做。 实际上,你必须保持在内核之外。
你需要做的是在初始化脚本中使用chrt,或者使用init程序或守护进程监视器中的sched_setscheduler。
链接地址: http://www.djcxy.com/p/84855.html