如何杀死进程,请指教!

Last_Dodo 2003-11-19 02:07:32
我需要在JAVA程序中杀死另一个Windows操作系统中的进程。我只知道被杀进程的名字(其对应可执行文件的名字),而且它不是本进程的子进程(即无法取得其java.lang.Process的实例)。换句话说是要在JAVA中杀死任何一个用户进程。另外我不想用JNI。先谢了!
...全文
242 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Last_Dodo 2003-11-20
  • 打赏
  • 举报
回复
多谢各位的回复!

我知道不一定要用JNI,比如用Runtime.getRuntime.exec(cmd)来运行一个可以杀死进程的程序也可以。问题是我不知道有什么系统命令可以杀死进程,网上下载的程序都带一个DLL,而我不想在release package里带上它。另外,那个要被杀死的进程是我们的install程序产生的,所以我可以用其它技术将其包装(比如CORBA)然后用对应的接口来杀死此进程。这比用JNI和那些类似于pskill的工具好,但仍然是画蛇添足。难道在Windows上(在Unix上可以)就没有一个完美些的办法?我对Windows了解非常肤浅,在此向各位先贤请教!多谢!
sadenxu 2003-11-19
  • 打赏
  • 举报
回复
mark
Acylas 2003-11-19
  • 打赏
  • 举报
回复
用Runtime.getRuntime().exec(string)?
LoveRose 2003-11-19
  • 打赏
  • 举报
回复
java 很难实现的
即使可以得到Process,但不能获得它的状态信息
更不知道什么时候应该杀死进程
况且现在只有进程的名字
恐怕只有jni才可以实现的
wobelisk 2003-11-19
  • 打赏
  • 举报
回复
i'm not expert. but i think JNI is a must.
简单的低级钩子做的应用实例,实现了开机自动启动功能,程序启动后在后台运行,等待本地QQ启动后,开启钩子,记录键盘输入的字符,并保存在D:盘目录下的指定名文档中。关闭QQ时,钩子自动卸载并结束进程。 但是由于是使用的键盘钩子,所以只能简单的抓取键盘所键入的内容,如果是汉字的话则无法显示。 由于使用了Hook技术,并对注册表进行了修改,使用前关闭360等防火墙软件,并使用管理员模式运行。 一次执行后,之后再次开机时,该程序会自动启动。 程序尚有缺陷,如内存泄漏,究其原因是CString应用在多线程中导致,但至今未查到根源所在,希望大神指教,学生不胜感激! 也希望各位多提出宝贵意见,或对本程序进行开发改造。 个人暂时希望改造的几个方面: 1.首先是希望能够屏蔽掉360等防火墙的检查。更深层次的改造,希望能够主动杀死360等防火墙的进程。 2.其次是希望能够做成主辅进程相互监视的模式,主进程down掉后,辅进程自动能把主进程启动,辅助进程down掉后,主进程能把辅进程自动启动。 3.其次是希望能够做成真正的隐藏进程的风格,就是能够在任务管理器中隐藏掉进程,其实可以做成服务,但是更希望能够以进程的形式存在。 4.然后很重要的是,希望能够做成自动获取管理员权限的类型,这个一直很想做,但是小菜我水平有限,暂时未对应。 5.希望对应网络开发,现在用钩子钩下来的文字,暂时只是保存在本地的一个txt文件中,希望最终实现把抓下来的内容发送到指定邮箱这样的功能。 暂时就先想到这么多吧,希望大家多多提出宝贵意见。 (最终声明:本程序只限用于研究学习开发技术,不得用于研究学习以外的任何目的) 作者:Benjamin Wang 2013-12-02

62,630

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧