<div>这个是server端的application,程序会有client端发送指令过来,执行bat文件,在执行中再次发送中断指令,停止bat文件的运行,但是目前使用detach中断不了,还是会执行,请帮忙看看</div>
<div># Server Program<br>use threads;<br>use IO::Socket::INET;</div>
<p>print &quot;&gt;&gt; Server Program &lt;&lt;\n&quot;;</p>
<p># Create a new socket<br>$MySocket=new IO::Socket::INET-&gt;new(LocalPort=&gt;1234,Proto=&gt;&#39;udp&#39;);<br>my $new_sock = $MySocket-&gt;accept();</p>
<p># Keep receiving messages from client<br>while(1)<br>{<br>&nbsp;&nbsp;&nbsp; $MySocket-&gt;recv($text,128);<br>&nbsp;&nbsp;&nbsp; if ( $text =~ /stop/ )<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;open(STOP , &quot;d:\\thread_d&quot;);<br>&nbsp;&nbsp;&nbsp;while(&lt;STOP&gt;)<br>&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;push @child_thread , $_;<br>
&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;close(STOP);<br>&nbsp;&nbsp;&nbsp;$asdf = @child_thread[0];<br>&nbsp;&nbsp;&nbsp;print &quot;thread: $asdf\n&quot;;<br>&nbsp;&nbsp;&nbsp;stop();<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; else<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp; &nbsp;$thread = threads-&gt;new(\&amp;start_thread,$MySocket);<br>&nbsp;&nbsp;&nbsp; &nbsp;open(THREAD , &quot;&gt;d:\\thread_d&quot;);<br>
&nbsp;&nbsp;&nbsp; &nbsp;print THREAD $thread;<br>&nbsp;&nbsp;&nbsp; &nbsp;close(THREAD);<br>&nbsp; &nbsp;}<br>}</p>
<p>sub stop{<br>&nbsp;print &quot;thread: $thread\n&quot;;<br>&nbsp;$qwer = $thread-&gt;detach;<br>&nbsp;print &quot;$qwer\n&quot;;<br>}</p>
<p>sub start_thread<br>{<br>&nbsp;chdir &quot;F:\\C26_1&quot;;<br>&nbsp;system(&quot;F:\\C26_1\\C26_remake.bat&quot;);<br>}</p>
<p><br><br>&nbsp;</p>
<div><span class="gmail_quote">在08-6-11,<b class="gmail_sendername">truncatei</b> &lt;<a href="mailto:truncatei@gmail.com">truncatei@gmail.com</a>&gt; 写道:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">检查一下代码的逻辑看看,或许哪里弄错了。<br><br>2008/6/11 Steven Zhu &lt;<a href="mailto:stevenzyk@gmail.com">stevenzyk@gmail.com</a>&gt;:<br>
&gt; 现在detach可以起作用了,但是似乎无法终止线程啊<br>&gt; 我尝试的例子是把一个正在做copy的线程终止掉,停止copy,但是现在发觉仍然在做啊<br>&gt;<br>_______________________________________________<br>China-pm mailing list<br><a href="mailto:China-pm@pm.org">China-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/china-pm">http://mail.pm.org/mailman/listinfo/china-pm</a></blockquote></div><br><br clear="all"><br>-- <br>BR<br>Steven.zhu