java代碼關(guān)掉電腦進(jìn)程 java關(guān)閉窗口代碼

如何用Java關(guān)閉一個(gè)進(jìn)程

解決這個(gè)問題,要看這個(gè)進(jìn)程是java程序自定義的進(jìn)程,還是操作系統(tǒng)的進(jìn)程,操作系統(tǒng)的進(jìn)程,又可以分為windows進(jìn)程和Linux進(jìn)程

成都創(chuàng)新互聯(lián)是專業(yè)的江北網(wǎng)站建設(shè)公司,江北接單;提供網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行江北網(wǎng)站開發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!

一、針對(duì)操作系統(tǒng)的進(jìn)程:

1,首先java用戶,要具有操作進(jìn)程的權(quán)限

2. 針對(duì)windows操作系統(tǒng)的進(jìn)程,比如QQ進(jìn)程:

String?command?=?"taskkill?/f?/im?QQ.exe";??

Runtime.getRuntime().exec(command);

其中:taskkill 是命令名稱,/f /im 是參數(shù),QQ.exe是進(jìn)程的可執(zhí)行文件。

3.針對(duì)Linux操作系統(tǒng)

String?command?=?"kill?/f?/im?QQ.exe";??

Runtime.getRuntime().exec(command);

二、在Java程序中自定義的進(jìn)程

思路:在線程中設(shè)置一個(gè)標(biāo)志變量,當(dāng)這個(gè)變量的值在外界被改變的時(shí)候,有機(jī)會(huì)結(jié)束運(yùn)行的線程

public?class?T?{

public?static?void?main(String[]?args)?{

//?啟動(dòng)線程

MyThread?thread?=?new?MyThread();

new?Thread(thread).start();

//?你的其它的工作,此時(shí)線程在運(yùn)行中

//?你不想讓線程干活了,停掉它

//?注意,這只是一個(gè)標(biāo)志,具體線程何時(shí)停,并不能精確控制

thread.allDone?=?true;

}

}?

class?MyThread?implements?Runnable?{

boolean?volatile?allDone?=?false;

public?void?run()?{

//?每次循環(huán)都檢測(cè)標(biāo)志

//?如果設(shè)置停止標(biāo)志時(shí)已經(jīng)在循環(huán)里

//?則最長(zhǎng)需要等待一個(gè)循環(huán)的時(shí)間才能終止

while?(!allDone)?{

//?循環(huán)里的工作

}

}

}

請(qǐng)問在java在如何關(guān)閉java自己?jiǎn)?dòng)的程序呢?

分類: 電腦/網(wǎng)絡(luò) 軟件

問題描述:

請(qǐng)問在java在如何關(guān)閉java自己?jiǎn)?dòng)的程序呢?

解析:

我詳細(xì)說一下吧

java程序啟動(dòng)之后,JVM(java虛擬機(jī))會(huì)實(shí)例化一個(gè)Runtime類,這是一個(gè)運(yùn)行時(shí)類實(shí)例,包含這個(gè)java程序運(yùn)行的所有信息,一個(gè)程序會(huì)實(shí)例化一個(gè)Runtime類且只能實(shí)例化一個(gè)Runtime類。我們可以通過這個(gè)Runtime類實(shí)例操作程序的運(yùn)行。它的exit(int status)方法會(huì)終止程序的運(yùn)行。例:

Runtime.getRuntime().exit(0);

其中參數(shù)status表示狀態(tài),0表示正常退出,非0表示異常退出。非0參數(shù)有什么用呢?

addShutdownHook(Thread hook)方法可以將一個(gè)Thread可程序的關(guān)閉hook(掛/聯(lián)系)起來,程序退出前,會(huì)執(zhí)行這個(gè)方法,這樣我們可以根據(jù)退出狀態(tài)作相應(yīng)的善后操作。

另外,System.exit(int status)也是調(diào)用這個(gè)Runtime類實(shí)例的退出方法來間接實(shí)現(xiàn)程序的退出的。

再加一點(diǎn),Runtime類可以創(chuàng)建子進(jìn)程,如下:

Process p=Runtime.getRuntime().exec("notepad");

這個(gè)語(yǔ)句將會(huì)創(chuàng)建一個(gè)記事本程序(它是Runtime類創(chuàng)建的子進(jìn)程)

p.destroy();

這個(gè)語(yǔ)句終止剛才創(chuàng)建的子進(jìn)程。

求助:java,怎樣代碼實(shí)現(xiàn)結(jié)束正在運(yùn)行的程序?

1.

public class TestShutDownHook {

2.

public TestShutDownHook() {

3.

doShutDownWork();

4.

}

5.

private void doShutDownWork() {

6.

Runtime run=Runtime.getRuntime();//當(dāng)前 Java 應(yīng)用程序相關(guān)的運(yùn)行時(shí)對(duì)象。

7.

run.addShutdownHook(new Thread(){ //注冊(cè)新的虛擬機(jī)來關(guān)閉鉤子

8.

@Override

9.

public void run() {

10.

//程序結(jié)束時(shí)進(jìn)行的操作

11.

System.out.println("程序結(jié)束調(diào)用");

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如何關(guān)閉或者打開一個(gè)指定的windows進(jìn)程

Process java.lang.Runtime.exec(String command);

在單獨(dú)的進(jìn)程中執(zhí)行指定的字符串命令

java.lang.Process

ProcessBuilder.start() 和 Runtime.exec 方法創(chuàng)建一個(gè)本機(jī)進(jìn)程,并返回 Process 子類的一個(gè)實(shí)例,該實(shí)例可用來控制進(jìn)程并獲取相關(guān)信息。Process 類提供了執(zhí)行從進(jìn)程輸入、執(zhí)行輸出到進(jìn)程、等待進(jìn)程完成、檢查進(jìn)程的退出狀態(tài)以及銷毀(殺掉)進(jìn)程的方法。

創(chuàng)建進(jìn)程的方法可能無法針對(duì)某些本機(jī)平臺(tái)上的特定進(jìn)程很好地工作,比如,本機(jī)窗口進(jìn)程,守護(hù)進(jìn)程,Microsoft Windows 上的 Win16/DOS 進(jìn)程,或者 shell 腳本。創(chuàng)建的子進(jìn)程沒有自己的終端或控制臺(tái)。它的所有標(biāo)準(zhǔn) io(即 stdin,stdout,stderr)操作都將通過三個(gè)流 (getOutputStream(),getInputStream(),getErrorStream()) 重定向到父進(jìn)程。父進(jìn)程使用這些流來提供到子進(jìn)程的輸入和獲得從子進(jìn)程的輸出。因?yàn)橛行┍緳C(jī)平臺(tái)僅針對(duì)標(biāo)準(zhǔn)輸入和輸出流提供有限的緩沖區(qū)大小,如果讀寫子進(jìn)程的輸出流或輸入流迅速出現(xiàn)失敗,則可能導(dǎo)致子進(jìn)程阻塞,甚至產(chǎn)生死鎖。

當(dāng)沒有 Process 對(duì)象的更多引用時(shí),不是刪掉子進(jìn)程,而是繼續(xù)異步執(zhí)行子進(jìn)程。

對(duì)于帶有 Process 對(duì)象的 Java 進(jìn)程,沒有必要異步或并發(fā)執(zhí)行由 Process 對(duì)象表示的進(jìn)程

網(wǎng)站名稱:java代碼關(guān)掉電腦進(jìn)程 java關(guān)閉窗口代碼
標(biāo)題鏈接:http://muchs.cn/article44/dosppee.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、標(biāo)簽優(yōu)化營(yíng)銷型網(wǎng)站建設(shè)、、網(wǎng)站維護(hù)、商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)