解决这个问题,要看这个进程是java程序自定义的进程,还是 *** 作系统的进程, *** 作系统的进程,又可以分为windows进程和Linux进程
一、针对 *** 作系统的进程:
1,首先java用户,要具有 *** 作进程的权限
2 针对windows *** 作系统的进程,比如QQ进程:
String command = "taskkill /f /im QQexe";RuntimegetRuntime()exec(command);
其中:taskkill 是命令名称,/f /im 是参数,QQexe是进程的可执行文件。
3针对Linux *** 作系统
String command = "kill /f /im QQexe";RuntimegetRuntime()exec(command);
二、在Java程序中自定义的进程
思路:在线程中设置一个标志变量,当这个变量的值在外界被改变的时候,有机会结束运行的线程
public class T {public static void main(String[] args) {
// 启动线程
MyThread thread = new MyThread();
new Thread(thread)start();
// 你的其它的工作,此时线程在运行中
// 你不想让线程干活了,停掉它
// 注意,这只是一个标志,具体线程何时停,并不能精确控制
threadallDone = true;
}
}
class MyThread implements Runnable {
boolean volatile allDone = false;
public void run() {
// 每次循环都检测标志
// 如果设置停止标志时已经在循环里
// 则最长需要等待一个循环的时间才能终止
while (!allDone) {
// 循环里的工作
}
}
}
电脑JAVA更新程序永久关闭的方法如下
首先打开计算机的控制面板,“开始”-“控制面板”,如下图所示:
进入控制面板之后,选择“Java”并进入,如下图所示:
进入“Java控制面板”之后,点击更新,然后取消勾选“自动检查更新”,在接下来d出的对话框中选择“不检查”。如下图所示:
然后再点击“高级”,并在应用程序一栏中选择“从不安装”,如下图所示:
经过以上 *** 作之后,Java更新程序即可永久关闭了。
;
第二个不能正常关闭的原因是程序显示的窗口(private Frame f)的 windowClosing 事件没有和终止程序的语句挂钩。
其实万事俱备只欠东风,因为程序里的 Interfaceforme 类是个截取 windowClosing 事件后马上终止程序的窗口事件监听器,
所以在 go( ) 方法里实例化 Frame 之后的任何地方直接加一句 faddWindowListener( this ); 即解决了问题。
fsetDefaultCloseOperation(Fram_ON_CLOSE);
因为Fram_ON_CLOSE这个为0
你看下jdk文档的介绍
setDefaultCloseOperation
public void setDefaultCloseOperation(int operation)设置用户在此窗体上发起 "close" 时默认执行的 *** 作。必须指定以下选项之一:
•DO_NOTHING_ON_CLOSE (这个是0)(在 WindowConstants 中定义):不执行任何 *** 作;要求程序在已注册的 WindowListener 对象的 windowClosing 方法中处理该 *** 作。
•HIDE_ON_CLOSE(这个是1)(在 WindowConstants 中定义):调用任意已注册的 WindowListener 对象后自动隐藏该窗体。
•DISPOSE_ON_CLOSE(这个是2)(在 WindowConstants 中定义):调用任意已注册 WindowListener 的对象后自动隐藏并释放该窗体。
•EXIT_ON_CLOSE(这个是3)(在 JFrame 中定义):使用 System exit 方法退出应用程序。仅在应用程序中使用。
默认情况下,该值被设置为 HIDE_ON_CLOSE。更改此属性的值将导致激发属性更改事件,其属性名称为 "defaultCloseOperation"。
所以你设值的是点关闭不执行任何 *** 作。。要想关闭就设值为3
以上就是关于如何用Java关闭一个进程全部的内容,包括:如何用Java关闭一个进程、电脑JAVA更新程序怎么永久关闭、java小程序的窗口关闭问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)