如何用Java关闭一个进程
6个回答
2017-05-16 · 做品质教育,用事实说话
关注
展开全部
解决这个问题,要看这个进程是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) {
// 循环里的工作
}
}
}
展开全部
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();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
脚本方式
写系统脚本bat/sh
java调用执行脚本
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
String command = "taskkill /f /im xxx.exe";
Runtime.getRuntime().exec(command);
Runtime.getRuntime().exec(command);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询