java结束进程
⑴ java停止当前程序
一:Java应用程序退来出源的触发机制有:
1.自动结束:应用没有存活线程或只有后台线程时;
2.System.exit(0);
3.kill 或 ctrl+C;
4.kill -9 强制退出;
二.打开一个端口,监听端口里的命令,收到命令后调用System.exit。
三.JMX
通过JMX的mbean远程控制来实现。
⑵ java怎么杀掉java进程
java中有调用外部程序的类,Runtime.getRuntime().exec("./**.exe");此函数返回的是一个 对象,该对象在创建后,可以对它进行 destroy () 杀掉子进程、 waitFor () 导致当前线程等待,如有必要,一直要等到由该 Process 对象表示的进程已经终止。 如下例子可以杀掉已经打开的文本进程:
importjava.io.BufferedReader;
importjava.io.InputStreamReader;
publicclassTest
{
publicstaticvoidmain(String[]args)
{
try
{
String[]cmd=
{"notepad.exe"};
Processproc=Runtime.getRuntime().exec(cmd);//开启文本
BufferedReaderin=newBufferedReader(newInputStreamReader(proc
.getInputStream()));
Stringstring_Temp=in.readLine();
while(string_Temp!=null)
{
System.out.println(string_Temp);
if(string_Temp.indexOf("notepad.exe")!=-1)
Runtime.getRuntime().exec("Taskkill/IMnotepad.exe");
string_Temp=in.readLine();
}
}
catch(Exceptione)
{
//结束进程
}
}
结果如下:
⑶ java中,结束程序的代码
跑完所有的代码就程序自己结束了啊 你强制结束的话就用 return;或者System.exit(0);
⑷ java中终止程序的执行
方案操作如下:
(1)让程序在一个单独的线程中运行,然后在终止时,可以用专线程的属终止方法来结束它。
⑸ java编程:结束代码进程
首先,Java不允许你控制资源的释放,所有的资源释放都是由JVM来管理的,除非你退出JVM。
当你对资源调用dispose方法时,实际上是将资源的状态置为已废弃,gc会自动来将资源释放掉。
其次,setDefaultCloseOperation()方法是用来设置用户在此窗体上发起 "close" 时默认执行的操作。其中DISPOSE_ON_CLOSE调用任意已注册WindowListener的对象后隐藏并释放该窗体;EXIT_ON_CLOSE则使用System exit方法退出JVM。
dispose()是Window类的方法,并非Container类,它的JDK APIDOC里面这样描述:
释放由此 Window、其子组件及其拥有的所有子组件所使用的所有本机屏幕资源。即这些 Component 的资源将被破坏,它们使用的所有内存都将返回到操作系统,并将它们标记为不可显示。
通过随后调用 pack 或 show 重新构造本机资源,可以再次显示 Window 及其子组件。重新创建的 Window 及其子组件的状态与释放 Window 时这些对象的状态一致(不考虑这些操作之间的其他更改)。
注:当 Java 虚拟机 (VM) 中最后的可显示窗口被释放后,虚拟机可能会终止。
也就是说,调用dispose()方法是将对象占用的本地屏幕资源(screen resources)释放,对象本身并没有释放,只是底层的对应点已经释放了,所以仍然是可用的。
当然,调用底层本地屏幕资源已经被释放的对象可能会出现一些错误,有时会报一个SWTException: Widget is disposed...。
如果你的程序已经没有其他线程在运行的话,当所有的窗口都被dispose了之后,JVM也会退出。
你的问题中,只需要将该子窗口dispose掉,并且将对该窗口的引用置为null,不用管它是否还能使用,gc会自动将对象释放的(不会立即释放,对象有它的生命周期,gc会依照自己的算法进行资源回收)。
⑹ 编写java程序时如何强制结束程序
可以用这个语句,他是用来强制让程序退出的。
System.exit(1);
例子:
public class Test {
public void doSomething(){
System.out.println("do something...");
System.exit(1);
System.out.println("Cannot be done...");
}
}
因为有System.exit(1);语句,"Cannot be done"永远都没有办法打出来。
⑺ 求助:java,怎样代码实现结束正在运行的程序
System.exit(0);终止虚拟机!
⑻ java怎么强行终止程序
在java程序中,可以使用java.lang.System的exit方法来终止程序的执行,
12345678
public static void main(String[] args) { System.out.println("开始进入程序..."); //do something System.out.println("程序准备退出了!"); System.exit(0); //下面这句话将不会打印出来 System.out.println("程序已经退出了!");}
但是使用exit方法的本质是终止了JVM的运行,如果同时运行了另外一个程序,使用exit方法同样也会使该程序也终止,要避免此种情况可以使用interrupt()来中断退出一个独立运行的过程。对于多线程程序,必须要关闭各个非守护线程。public static void main(String[] args) { System.out.println("开始进入程序..."); //do something new Thread(){ public void run() { while (true) { System.out.println("我是另外的线程..."); try { Thread.sleep(2000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }.start(); //获取man线程 Thread main = Thread.currentThread(); System.out.println(main.getName()); main.interrupt(); System.out.println("main线程已经退出了,但是不影响其他线程运行!"); }
只有在程序非正常退出时,才使用exit方法退出程序。
⑼ 用怎样的JAVA代码结束指定进程
1 线程正常执行完毕,正常结束。 也就是让run方法执行完毕,该线程就会正常结束。 2 监视某些条件,结束线程的不间断运行。 然而,常常有些线程是伺服线程。它们需要长时间的运行,只有在外部某些条件满足的情况下,才能关闭这些线程。 通常,它们执行在一个while(true)的死循环中。 如: publicvoid run() { while(true){ someWork(); if(finished){ break; } try { Thread.sleep(10000); } catch (InterruptedException e) { /* TODO自动生成 catch 块 * */ e.printStackTrace(); } } } 我们可以在while死循环内,每次循环时,察看外部条件,看看是否需要关闭当前线程。如果是,就break,跳出死循环,或者是抛出异常,跳出死循环,结束线程。 3 捕获InterruptedException 运行时异常,中断当前线程。 有些执行伺服任务的线程,在while(true)这样的死循环内部,是一个阻塞中的方法。此时,就不能采用第二种方法了。因为,当该方法没有返回时,该线程一直处于阻塞当中,根本无法执行其他语句。 此时,就需要调用该线程的interrupt方法,产生一个InterruptedException运行时异常,是阻塞中的那个方法抛出这个异常,从而让我们有机会结束这个线程的执行。 如: publicvoid run() { while(true){ try { // getSendMessages 是BlockingQueue类。它的take方法将会阻塞! responseMessage = this.getSendMessages().take(); } catch (InterruptedException e1) { thrownew RuntimeException(); //或者break; } someWork(); } 一个外部的Thread 对象 指向这个线程。 需要结束这个线程时,只需要调用thread对象的interrupt() 方法,就会在responseMessage = this.getSendMessages()。take(); 这条语句中产生一个InterruptedException异常,从而结束该线程的阻塞状态,通过抛出异常,或者break跳出死循环,结束这个线程。
⑽ java停止执行程序
如果在一个循环里,想退出这个循环请用break;
如果在一个method中,想不执行下面的代码直接退出这个method请用return;
如果你想要程序直接中断退出,不执行后面的任何代码,请用System.exit(0);