说我在内核中有一个“坏”进程,我希望通过强制它睡眠60秒然后重新安排它来惩罚 - 我该怎么做?我必须操作以实现内核中的函数和数据结构是什么?
答案 0 :(得分:0)
如果您在该进程的上下文中,并且没有任何锁定,只需执行msleep / ssleep。
ssleep(60);
注意,这不会是“完全”60秒,与sleep()
函数一样准确。
如果您处于其他进程的上下文中,则需要暂停该进程的信号并安排唤醒。我想用usermode帮助程序进程会更简单。请参阅this for how to invoke a helper。