黑马程序员技术交流社区

标题: 请问大家qq进程使用Process中的destroy方法是不是杀不死? [打印本页]

作者: 无道    时间: 2014-3-2 14:38
标题: 请问大家qq进程使用Process中的destroy方法是不是杀不死?
  1. package otherClass;
  2. import java.io.*;
  3. import static java.lang.System.*;
  4. /*
  5.         此类是一个单例类
  6. */
  7. public class RuntimeDemo{
  8.        
  9.         public static void main(String[] args){
  10.                
  11.                                 Runtime runTime = Runtime.getRuntime();
  12.                                 Process process = null;
  13.                                 try{
  14.                                                
  15.                                                         process = runTime.exec("qq.exe");
  16.                                 }
  17.                                 catch(IOException io){
  18.                                        
  19.                                         throw new RuntimeException("可执行文件路径有问题。")        ;
  20.                                 }
  21.                                
  22.                                 out.println("让程序停会!");
  23.                                 try{
  24.                                        
  25.                                                 Thread.sleep(5000);
  26.                                 }
  27.                                 catch(InterruptedException interruptedException){
  28.                                        
  29.                                         throw new RuntimeException("线程醒不了,哈哈!")        ;
  30.                                 }
  31.                                
  32.                                 out.println("结束线程。");
  33.                                 if(process != null){
  34.                                         process.destroy();
  35.                                         out.println("进程已经over");
  36.                                 }
  37.                                
  38.                                 System.out.println("Over!");
  39.         }       
  40. }
复制代码
这是我写的代码,为什么qq程序能打开但是杀不死呀!我也试过notepad.exe(记事本)这个可以被杀,这是什么呀!

作者: 山治0712    时间: 2014-3-3 23:34
java只能杀自己开启的线程,要不然那java无敌了
作者: 无道    时间: 2014-3-4 21:01
山治0712 发表于 2014-3-3 23:34
java只能杀自己开启的线程,要不然那java无敌了

利用exec方法开启的qq程序,,也是杀不死呀!
作者: 水蓝    时间: 2014-3-12 23:43
这个,劝楼主就不要纠结啦。
楼上说的对,java只能杀自己开启的线程。
这个是出于安全考虑加的限制。

是不是还有守护线程开着?
因为之前也有遇到过一些软件,为了保证软件的运行稳定,会在软件运行的同时,运行一个状态守护线程。
这样在主业务线程非正常的挂掉之后,守护线程会自动重新拉起主业务线程。
仅仅是推测哈。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2