防止进程被安排

时间:2011-11-08 18:45:54

标签: linux-kernel kernel

我正在为linux创建一个内核模块。我想知道,如何阻止进程在指定时间内进行安排? sched.c中是否有可以执行此操作的函数?是否可以在特定的时间段内将特定的task_struct添加到等待队列中,或者对特定进程使用schedule_timeout之类的内容?

由于

1 个答案:

答案 0 :(得分:0)

延迟进程调度一段时间等同于让它休眠。在驱动程序中,通常使用msleep()(在工作任务中常见)或进程,通过将进程置于可中断的睡眠模式

来完成
set_current_state(TASK_INTERRUPTABLE);
schedule_timeout(x*HZ);

在超时到期或收到信号之前,内核不会再次安排任务。