在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

上一篇: In a linux kernel mode, how can I detect a process?

下一篇: Scheduler on the processes running in kernel mode