<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-50  評論-55  文章-8  trackbacks-0

    現象:
    ??????? Runtime.exec() 方法創建標準的輸出的管道。 當子進程,往完全緩沖區此管道寫入大量數據時,它阻止在管道上直到管道緩沖區中的數據讀取父進程。 如果父進程將永遠不會讀取標準輸出, Process.waitFor() 不返回。
    1、程序代碼
    ????? StringBuffer command = new StringBuffer();
    ???? ?command .append("你需要的命令行");
    ????? Runtime rt = Runtime.getRuntime();
    ????? Process process=rt.exec(command.toString());
    ????? int pflag = -1;
    ????? //重要,解決死鎖的方案
    ??????new PrintStream(process.getInputStream()).start();
    ????? pflag=process.waitFor();
    ????? if(pflag!=-1){
    ???????System.out.println("執行成功!");
    ?????}
    ???? 類PrintStream,網上找的,主要是打印信息
    ??? class PrintStream extends Thread{
    ??? ?java.io.InputStream __is = null;
    ??? ??public PrintStream(java.io.InputStream is)??{
    ????? ??__is = is;
    ???? ?}

    ???? public void run()?{
    ????? ?try??{
    ?????? while(this != null)?{
    ????? ?int _ch = __is.read();
    ?????if(_ch != -1)
    ??????System.out.print((char)_ch);
    ?????else break;
    ????}
    ???}
    ???catch (Exception e)
    ???{
    ????e.printStackTrace();
    ???}
    ??}
    ?}
    2、解決方案
    ????? 若要避免阻止,請確保父進程始終讀取標準輸出從子進程。

    posted on 2009-01-04 16:38 蔣家狂潮 閱讀(663) 評論(0)  編輯  收藏 所屬分類: Basic
    主站蜘蛛池模板: 2021国内精品久久久久精免费| 久久久久免费精品国产小说| 最近中文字幕无免费视频| 亚洲一本综合久久| XXX2高清在线观看免费视频| 亚洲人成人网站在线观看| 国产免费一级高清淫曰本片| 中文字幕久久亚洲一区| 国产精品免费αv视频| 国产中文在线亚洲精品官网| 中国黄色免费网站| 亚洲成av人影院| 无码日韩精品一区二区免费暖暖| 亚洲av日韩av激情亚洲| 91香焦国产线观看看免费| 亚洲精品成人久久| 成年私人影院免费视频网站| 男人的天堂av亚洲一区2区| 免费在线观看一级毛片| 一级有奶水毛片免费看| 亚洲国产精品国自产电影| 1000部国产成人免费视频| 亚洲男人的天堂网站| 亚洲精品天堂成人片?V在线播放| GOGOGO免费观看国语| 337p日本欧洲亚洲大胆艺术| 成年在线网站免费观看无广告| 国产亚洲高清在线精品不卡| 亚洲精品无码不卡在线播HE | 亚洲国产精品久久丫| 好男人www免费高清视频在线| 亚洲av日韩av永久无码电影| 丁香五月亚洲综合深深爱| 日韩在线永久免费播放| 亚洲欧美日韩一区二区三区| 亚洲精品国自产拍在线观看| 久久久久av无码免费网| 成人嫩草影院免费观看| 亚洲男女性高爱潮网站| 男人的天堂亚洲一区二区三区| 人人鲁免费播放视频人人香蕉|