2010-05-24 49 views
0

試一試這個免費的論壇給開發者。我正在將一個串行驅動程序遷移到內核2.6.31.5。我使用了各種書籍和文章來解決問題2.4如何在Linux Kernel 2.6.31.5中執行「kill_proc()」

打算現在我有幾個kill_proc的未在內核中支持了2.6.31.5

什麼是這個遷移到內核的最快方法2.6.31.5殺死線程的方法。在他們所說的書中使用kill(),但在2.6.31.5中似乎並不如此。使用send_signal會是一個好方法,但我該怎麼做?必須有一個task_struct或者其他的東西,我可以提供我的PID和SIGTERM,並且讓我的線程死掉,但是看起來更復雜一些,必須用一個我不知道的參數來設置結構。

如果任何人有一個真實的例子,或鏈接到一個地方與2.6.31內核的最新信息,我會非常感激。親切地說,我需要殺死我的線索,而這不是很難。 )

這是現在我的代碼:

kill_proc(ex_pid,SIGTERM,1);

/Jörgen的

回答

0

對於kthreads使用,現在kthread_stop呼叫者(例如,模塊的退出功能)可以調用。 k線程本身必須使用kthread_should_stop進行檢查。這些內容的例子在內核源碼樹中很容易找到。