本文目錄一覽:
- 1、如何用Java關閉一個進程
- 2、Java中執行退出(結束)程序的語句是什麼?
- 3、java中終止程序的執行
- 4、java怎麼強行終止程序
- 5、求助:java,怎樣代碼實現結束正在運行的程序?
- 6、如何關閉java程序
如何用Java關閉一個進程
解決這個問題,要看這個進程是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) {
// 循環里的工作
}
}
}
Java中執行退出(結束)程序的語句是什麼?
System.exit(-1)終止當前正在運行的 Java 虛擬機,退出程序。其中參數按照慣例,是用非零的參數碼錶示異常終止。
java中終止程序的執行
方案操作如下:
(1)讓程序在一個單獨的線程中運行,然後在終止時,可以用線程的終止方法來結束它。
(2)退出Java程序時盡量不要使用java.lang.System的exit方法。Exit 方法可以終止JVM,從而終止程序,但如果同時運行了另一個Java程序,使用exit方法就會讓該程序也關閉,這顯然不是希望看到的情況!!!!
要退出Java程序,可以使用destory()退出一個獨立運行的過程。對於多線程程序,必須要關閉各個非守護線程。
只有在程序非正常退出時,才使用exit方法退出程序
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()來中斷退出一個獨立運行的過程。對於多線程程序,必須要關閉各個非守護線程。
1234567891011121314151617181920212223
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.
public class TestShutDownHook {
2.
public TestShutDownHook() {
3.
doShutDownWork();
4.
}
5.
private void doShutDownWork() {
6.
Runtime run=Runtime.getRuntime();//當前 Java 應用程序相關的運行時對象。
7.
run.addShutdownHook(new Thread(){ //註冊新的虛擬機來關閉鉤子
8.
@Override
9.
public void run() {
10.
//程序結束時進行的操作
11.
System.out.println(“程序結束調用”);
12.
}
13.
});
14.
}
15.
public static void main(String[] args) {
16.
new TestShutDownHook();
17.
for (int i = 0; i 1000; i++) { // 在這裡增添您需要處理代碼 }
18.
System.out.println(i);
19.
}
20.
}
21.
}
如何關閉java程序
我詳細說一下吧
java程序啟動之後,JVM(java虛擬機)會實例化一個Runtime類,這是一個運行時類實例,包含這個java程序運行的所有信息,一個程序會實例化一個Runtime類且只能實例化一個Runtime類。我們可以通過這個Runtime類實例操作程序的運行。它的exit(int status)方法會終止程序的運行。例:
Runtime.getRuntime().exit(0);
其中參數status表示狀態,0表示正常退出,非0表示異常退出。非0參數有什麼用呢?
addShutdownHook(Thread hook)方法可以將一個Thread可程序的關閉hook(掛/聯繫)起來,程序退出前,會執行這個方法,這樣我們可以根據退出狀態作相應的善後操作。
另外,System.exit(int status)也是調用這個Runtime類實例的退出方法來間接實現程序的退出的。
再加一點,Runtime類可以創建子進程,如下:
Process p=Runtime.getRuntime().exec(“notepad”);
這個語句將會創建一個記事本程序(它是Runtime類創建的子進程)
p.destroy();
這個語句終止剛才創建的子進程。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/297834.html