<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://jackxiang.com/post//</link>
<title><![CDATA[thread,Pthread,lwp,kthread的基本概念 ]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[WEB2.0]]></category>
<pubDate>Thu, 11 Feb 2010 02:51:08 +0000</pubDate> 
<guid>http://jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	thread:略.<br/>PthreadOSIX定义的纯用户线程,对于内河而言是不知道他存在的<br/>lwp:内河支持的线程,LINUX中的THREAD就是于此相当.<br/>kthread:没有用户文镜.纯粹的在内河的驱动程序中执行.注意要与LINUX中的内存守护线程象区别.<br/>问题：<br/>我用kthread_create方法创建了一个内核线程，在线程执行函数的末尾调用的do_exit()，这样虽然释放了大部分资源，但进程描述符应该还没有释放。<br/>请问有没有合适的方法在我的内核模块程序里彻底删除这个线程?<br/><br/>请帮忙详细解释好吗<br/>例如我这样创建一个kthread<br/><br/><br/><div class="code">struct task_struct *tsk = NULL;<br/><br/>int run(void *data)<br/>&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; init_completion( (struct completion *) data )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; complete( (struct completion *) data );<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; do_exit(0);<br/>&#125;<br/><br/>void entrance()<br/>&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp; struct completion cplt;<br/>&nbsp;&nbsp;&nbsp;&nbsp; tsk = kthread_create(run, &amp;cplt, &quot;test_thd&quot;);<br/>&nbsp;&nbsp;&nbsp;&nbsp; if (tsk == NULL) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return;<br/>&nbsp;&nbsp;&nbsp;&nbsp; &#125;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wait_for_completion(&amp;cplt);<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 如果我要在这个位置彻底删除上面创建的线程应该怎么办,应该添加哪些代码<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;return;<br/>&#125;</div>请帮忙解释好吗? 谢谢!<br/><br/><br/>由父进程在信号处理中执行最后的清除<br/>do_signal->sys_wait4->release_task<br/>而这个信号是由exit_notify->do_notify_parent发出的 <br/><br/>kill_proc会导致内核crash掉，如果注释掉的话，kernel thread会一直处于zombie状态！<br/>我也遇到在linux上通过php的dio_open函数调用串口出现：<br/><br/><div class="code">&#91;root@localhost dio&#93;# ps aux&#124;grep read<br/>root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 7&nbsp;&nbsp;0.0&nbsp;&nbsp;0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp; 0 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;S&lt;&nbsp;&nbsp; 05:22&nbsp;&nbsp; 0:00 &#91;kthread&#93;</div><br/>不知道如何解决！
]]>
</description>
</item><item>
<link>http://jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] thread,Pthread,lwp,kthread的基本概念 ]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>