A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  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(记事本)这个可以被杀,这是什么呀!

评分

参与人数 1技术分 +1 收起 理由
朱神必 + 1

查看全部评分

3 个回复

倒序浏览
java只能杀自己开启的线程,要不然那java无敌了

评分

参与人数 1技术分 +1 收起 理由
朱神必 + 1

查看全部评分

回复 使用道具 举报
山治0712 发表于 2014-3-3 23:34
java只能杀自己开启的线程,要不然那java无敌了

利用exec方法开启的qq程序,,也是杀不死呀!
回复 使用道具 举报
这个,劝楼主就不要纠结啦。
楼上说的对,java只能杀自己开启的线程。
这个是出于安全考虑加的限制。

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

评分

参与人数 1技术分 +1 收起 理由
朱神必 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马