国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專(zhuān)欄INFORMATION COLUMN

使用java.lang.Process類(lèi)的簡(jiǎn)單例子

MonoLog / 2752人閱讀

摘要:在之前,都是由類(lèi)處來(lái)實(shí)現(xiàn)進(jìn)程的控制管理。導(dǎo)致當(dāng)前線程等待,如有必要,一直要等到由該對(duì)象表示的進(jìn)程已經(jīng)終止。如果已終止該子進(jìn)程,此方法立即返回。為了防止進(jìn)程無(wú)限阻塞或者死鎖,使用類(lèi)時(shí),需要加上超時(shí)控制,詳細(xì)內(nèi)容可以看博文工具類(lèi),提供設(shè)置功能。

ProcessBuilder類(lèi)是J2SE 1.5在java.lang中新添加的一個(gè)新類(lèi),此類(lèi)用于創(chuàng)建操作系統(tǒng)進(jìn)程,它提供一種啟動(dòng)和管理進(jìn)程(也就是應(yīng)用程序)的方法。在J2SE 1.5之前,都是由Process類(lèi)處來(lái)實(shí)現(xiàn)進(jìn)程的控制管理。本文簡(jiǎn)單介紹一下Process類(lèi)的用法以及一些需要注意的問(wèn)題。

  

API方法說(shuō)明如下:
- destroy() 殺掉子進(jìn)程。
- exitValue() 返回子進(jìn)程的出口值。該方法不阻塞,如果此 Process 對(duì)象表示的子進(jìn)程尚未終止,就會(huì)拋出IllegalThreadStateException異常,中止進(jìn)程
- getErrorStream() 獲取子進(jìn)程的錯(cuò)誤流
- getInputStream() 獲取子進(jìn)程的輸入流
- getOutputStream() 獲取子進(jìn)程的輸出流,基本上不會(huì)用到輸出流
- waitFor() 導(dǎo)致當(dāng)前線程等待,如有必要,一直要等到由該 Process 對(duì)象表示的進(jìn)程已經(jīng)終止。導(dǎo)致當(dāng)前線程等待,如有必要,一直要等到由該 Process對(duì)象表示的進(jìn)程已經(jīng)終止。如果已終止該子進(jìn)程,此方法立即返回。如果沒(méi)有終止該子進(jìn)程,調(diào)用的線程將被阻塞,直到退出子進(jìn)程

一個(gè)簡(jiǎn)單的例子:

/**
 * 列出所有的進(jìn)程信息
 */
public class ListAllProcessTest {
    public static void main(String[] args) {
        BufferedReader br = null;
        Process process = null;
        try {
            process = Runtime.getRuntime().exec("tasklist");
            br = new BufferedReader(new InputStreamReader(process.getInputStream(), "GBK"));
            String line = null;
            System.out.println("列出所有正在運(yùn)行的進(jìn)程信息:");
            while ((line = br.readLine()) != null) {
                System.out.println(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (br != null) {
                try {
                    br.close();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
            if(process!=null){
                process.destroy();
            }
        }
    }
}

程序輸出如下:

直接在WIN7的命令行執(zhí)行命令:tasklist,輸出結(jié)果如下:

注意問(wèn)題:
因?yàn)橛行┍緳C(jī)平臺(tái)僅針對(duì)標(biāo)準(zhǔn)輸入和輸出流提供有限的緩沖區(qū)大小,如果讀寫(xiě)子進(jìn)程的輸出流或輸入流迅速出現(xiàn)失敗,則可能導(dǎo)致子進(jìn)程阻塞,甚至產(chǎn)生死鎖。為了防止進(jìn)程無(wú)限阻塞或者死鎖,使用Process類(lèi)時(shí),需要加上超時(shí)控制,詳細(xì)內(nèi)容可以看博文《Process工具類(lèi),提供設(shè)置timeout功能》。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/64021.html

相關(guān)文章

  • Java 9 的主要新特性

    摘要:今晚將正式發(fā)布。競(jìng)爭(zhēng)鎖的性能優(yōu)化能夠改善程序運(yùn)行時(shí)的多線程同步效率。模塊化這就是令跳票數(shù)次的罪魁禍?zhǔn)?。?yōu)化字符串占用空間在很多應(yīng)用當(dāng)中,字符串已經(jīng)成為一個(gè)消耗內(nèi)存的主要部分。 今晚 Java 9 將正式發(fā)布。Java 9 的新特性都列在官方頁(yè)面當(dāng)中,本文介紹值得你關(guān)注的其中幾個(gè)點(diǎn): ? 進(jìn)程操作改進(jìn)(JEP 102: Process API Updates) 新增的 java.lang...

    junbaor 評(píng)論0 收藏0
  • 使用Prometheus+Grafana監(jiān)控JVM

    摘要:摘要用到的工具,本文大量使用了來(lái)啟動(dòng)各個(gè)應(yīng)用。,負(fù)責(zé)抓取存儲(chǔ)指標(biāo)信息,并提供查詢功能。,負(fù)責(zé)數(shù)據(jù)可視化。,提供中和相關(guān)的。先講一下大致步驟利用,在進(jìn)程內(nèi)啟動(dòng)一個(gè)小型的配置抓取那個(gè)提供的。第三步配置啟動(dòng)訪問(wèn),使用登錄。 原文地址 本文所提到的腳本可以在這里下載。 摘要 用到的工具: Docker,本文大量使用了Docker來(lái)啟動(dòng)各個(gè)應(yīng)用。 Prometheus,負(fù)責(zé)抓取/存儲(chǔ)指標(biāo)信息...

    YuboonaZhang 評(píng)論0 收藏0
  • 使用Prometheus+Alertmanager告警JVM異常情況

    摘要:,負(fù)責(zé)抓取存儲(chǔ)指標(biāo)信息,并提供查詢功能,本文重點(diǎn)使用它的告警功能。,負(fù)責(zé)將告警通知給相關(guān)人員。配置的告警觸發(fā)規(guī)則使用超過(guò)最大上限的機(jī)時(shí)間超過(guò)秒分鐘分鐘時(shí)間在最近分鐘里超過(guò)配置連接,配置。 原文地址 在前一篇文章中提到了如何使用Prometheus+Grafana來(lái)監(jiān)控JVM。本文介紹如何使用Prometheus+Alertmanager來(lái)對(duì)JVM的某些情況作出告警。 本文所提到的腳本可...

    lushan 評(píng)論0 收藏0
  • 聊聊Typescript中的設(shè)計(jì)模式——裝飾器篇(decorators)

    摘要:本文從裝飾模式出發(fā),聊聊中的裝飾器和注解。該函數(shù)的函數(shù)名。不提供元數(shù)據(jù)的支持。中的元數(shù)據(jù)操作可以通過(guò)包來(lái)實(shí)現(xiàn)對(duì)于元數(shù)據(jù)的操作。 ??隨著Typescript的普及,在KOA2和nestjs等nodejs框架中經(jīng)常看到類(lèi)似于java spring中注解的寫(xiě)法。本文從裝飾模式出發(fā),聊聊Typescipt中的裝飾器和注解。 什么是裝飾者模式 Typescript中的裝飾器 Typescr...

    yiliang 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<