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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Silvester 中级黑马   /  2014-4-28 23:36  /  1143 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 Silvester 于 2014-4-29 00:19 编辑

class RuntimeDemo  {  
               public static void main(String[] args) throws Exception  {  
                                 //以下代码实现了p进程调用QQ后,沉睡4秒,然后杀死进程。                 
                                 Runtime r = Runtime.getRuntime( );
                                 Process p = r.exec("D:\\soft\\qq\\qqfiles\\Bin\\QQ.exe");
                                 Thread.sleep(4000);
                                 p.destroy( );
                }
}
        求助,在毕老师基础视频第18天课程Runtime类时候有个问题,如代码所示:"D:\\soft\\qq\\qqfiles\\Bin"为我的计算机上QQ安装目录,当调用r.exec("notepad.exe")的时候,即调用系统盘System32目录下的记事本程序时,进程能够调用并被成功杀死,但换为调用QQ的时候,QQ能够成功调用,可是进程没被杀死(或者说p.destroy()没有起作用),QQ的登陆界面依然还存在,求大神指点解惑,感谢!
        注: OS: 32位win7,JDK版本:1.7.0_51。

2 个回复

倒序浏览
Process类的destroy方法只能杀死父进程,而无法杀死子进程
回复 使用道具 举报
微笑=.一瞬间 发表于 2014-4-29 10:21
Process类的destroy方法只能杀死父进程,而无法杀死子进程

感谢帮助,可是查阅API后Process类的destroy方法杀掉的是子进程啊,是不是那里弄错了?


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