0

尝试这个免费的开发者论坛。我正在将串行驱动程序迁移到内核 2.6.31.5。我使用各种书籍和文章来解决从 2.4 开始的问题

现在我有几个在内核 2.6.31.5 中不再支持的 kill_proc

将其迁移到内核 2.6.31.5 杀死线程的最快方法是什么。在书中他们说使用 kill() 但在 2.6.31.5 中似乎并非如此。使用 send_signal 将是一个好方法,但我该怎么做呢?必须有一个 task_struct 什么的,我只能提供我的 PID 和 SIGTERM 并继续杀死我的线程,但它似乎更复杂,必须使用我不知道的参数设置一个结构。

如果有人有一个真实的例子,或者有一个关于内核 2.6.31 最新信息的地方的链接,我将非常感激。简单地说,我需要杀死我的线程,这并不难。;)

这是我现在的代码:

kill_proc(ex_pid, SIGTERM, 1);

/约尔根

4

1 回答 1

0

对于与 kthreads 一起使用,现在kthread_stop调用者(例如模块的退出函数)可以调用。kthread 本身必须使用kthread_should_stop. 这些示例在内核源代码树中很容易获得。

于 2010-11-21T14:57:38.153 回答