<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 蔣家狂潮 閱讀(662) 評論(0)  編輯  收藏 所屬分類: Basic
    主站蜘蛛池模板: 中文字幕久久亚洲一区| 国产精品无码一二区免费| MM131亚洲国产美女久久| 特级无码毛片免费视频| 国产极品美女高潮抽搐免费网站| 亚洲午夜无码久久久久软件| 免费观看的毛片大全| 亚洲一级毛片中文字幕| av大片在线无码免费| 亚洲香蕉久久一区二区| 亚洲人成网站免费播放| 亚洲国产美女精品久久久| 精品久久免费视频| 国产亚洲精品美女久久久久 | 日韩欧美亚洲中文乱码| 日本免费人成黄页在线观看视频 | 美女裸身网站免费看免费网站| 亚洲午夜电影在线观看高清| 国产成人免费网站| 色欲aⅴ亚洲情无码AV| 亚洲精品国产V片在线观看| 91免费在线视频| 中文字幕亚洲色图| 破了亲妺妺的处免费视频国产| 免费大片av手机看片| 亚洲高清国产AV拍精品青青草原| 久久久免费精品re6| 国产成人精品亚洲2020| 免费在线观看黄网| 一级毛片**不卡免费播| 亚洲一区精彩视频| 国产亚洲?V无码?V男人的天堂| 日韩午夜理论免费TV影院| 亚洲成av人无码亚洲成av人| 久久精品国产亚洲5555| 久草视频免费在线| 污视频网站免费观看| 久久亚洲精精品中文字幕| 在线观看免费亚洲| 99久久精品免费精品国产| 亚洲精华国产精华精华液好用|