我没有看到任何针对Linux的kthread_destroy,仅针对NetBSD。
哪种方法可以杀死kthread,然后重新开始呢?
答案 0 :(得分:0)
linux不支持查杀内核线程。你要求它停止,然后等待它这样做(实际上没有提供有缺陷的内核模块)。这样,它就不会突然消失,从而使系统资源 - 锁定,分配内存等 - 处于不确定状态。
通常使用kthread_create创建线程,使用kthread_stop来请求线程停止。与此同时,线程在一个循环中做这样的事情:
while (!kthread_should_stop()) {
/* ... do stuff */
}
return 0;