如何用Java关闭一个进程

 我来答
哈尔滨市南岗区爱尚职
2017-05-16 · 做品质教育,用事实说话
哈尔滨市南岗区爱尚职
爱尚实训成立于2010年,总部设立在软件外包名城—大连,并在哈尔滨和沈阳设有分校。爱尚实训专注于IT行业精英的培养,打造高端IT技能实训品牌。
向TA提问
展开全部

解决这个问题,要看这个进程是java程序自定义的进程,还是操作系统的进程,操作系统的进程,又可以分为windows进程和Linux进程

一、针对操作系统的进程:

1,首先java用户,要具有操作进程的权限

2. 针对windows操作系统的进程,比如QQ进程:

String command = "taskkill /f /im QQ.exe";  
Runtime.getRuntime().exec(command);

其中:taskkill 是命令名称,/f /im 是参数,QQ.exe是进程的可执行文件

3.针对Linux操作系统

String command = "kill /f /im QQ.exe";  
Runtime.getRuntime().exec(command);

二、在Java程序中自定义的进程

思路:在线程中设置一个标志变量,当这个变量的值在外界被改变的时候,有机会结束运行的线程

public class T {
  public static void main(String[] args) {
  // 启动线程
  MyThread thread = new MyThread();
  new Thread(thread).start();

  // 你的其它的工作,此时线程在运行中
  // 你不想让线程干活了,停掉它
  // 注意,这只是一个标志,具体线程何时停,并不能精确控制
  thread.allDone = true;
  }


class MyThread implements Runnable {

  boolean volatile allDone = false;
  public void run() {

     // 每次循环都检测标志
     // 如果设置停止标志时已经在循环里
     // 则最长需要等待一个循环的时间才能终止
     while (!allDone) {
     // 循环里的工作
     }
  }
}
来啦安安
2017-03-16 · 超过45用户采纳过TA的回答
知道小有建树答主
回答量:127
采纳率:100%
帮助的人:40.3万
展开全部

1、首先您要明确你要关闭的进程是在哪个平台的(windows/linux/mac os etc.)

2、您要确保当前执行java程序的用户具有关闭这个进程的权限。

3、您要清楚这个平台关闭进程的命令,例如:

windows:  taskkill /f /im xxx.exe
linux     : kill -9 pid(进程号)

4、在java中调用shell :

String killCmd = "kill -9 "
Process p = Runtime.getRuntime().exec(killCmd + 18675); 
int runnngStatus = p.waitFor();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友afe836d
2017-02-16 · TA获得超过635个赞
知道小有建树答主
回答量:367
采纳率:50%
帮助的人:303万
展开全部

1、首先您要明确你要关闭的进程是在哪个平台的(windows/linux/mac os etc.)

2、您要确保当前执行java程序的用户具有关闭这个进程的权限。

3、您要清楚这个平台关闭进程的命令,例如:

windows:  taskkill /f /im xxx.exe
linux     : kill -9 pid(进程号)

4、在java中调用shell :

String killCmd = "kill -9 "
Process p = Runtime.getRuntime().exec(killCmd + 18675); 
int runnngStatus = p.waitFor();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
左搜
2017-02-02 · 超过11用户采纳过TA的回答
知道答主
回答量:45
采纳率:0%
帮助的人:17.3万
展开全部

脚本方式

  1. 写系统脚本bat/sh

  2. java调用执行脚本

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
夜很美71
2016-12-07 · TA获得超过2500个赞
知道小有建树答主
回答量:347
采纳率:82%
帮助的人:40.9万
展开全部
String command = "taskkill /f /im xxx.exe";
Runtime.getRuntime().exec(command);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式