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

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

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

    敬的世界

    常用鏈接

    統計

    最新評論

    java 調用 LINUX service ntpd stop

    If you read about the Javadoc of the Process class, you will discover something
    very weird and unexpected. The following is the context of the Javadoc for Process.
    In effect, you should be very clear of this limitation before you think of using
    the Process JDK. Ok, here it is:


    The methods that create processes may not work well for special processes on certain
    native platforms, such as native windowing processes, daemon processes, Win16/DOS
    processes on Microsoft Windows, or shell scripts.

    The created subprocess does not have its own terminal or console. All its standard
    io (i.e. stdin, stdout, stderr) operations will be redirected to the parent process
    through three streams (getOutputStream(), getInputStream(), getErrorStream()).
    ...


    So basically, Process does not guarantee your daemon process to work properly. This
    is horrifying when I first read about this Javadoc. However, I have changed my
    mind after using Process for a while. My experience tells me that usually Process
    cannot be working at the following circumstances: (assuming we are in Linux O.S.)

    - to execute shell built-in commands e.g. "cd" or "alias"
    - to redirect output from the executed application,
    - This method will NOT expand filesystem wildcards e.g. "*".

    Taking all these things into consideration, let's see what we can do to improve
    your code.

    First of all, Process has its standard outputstream, and its standard errorstream
    (but don't try to redirect them, as it will *not* work)


    Process proc = Runtime.getRuntime().exec(command);

    // Create thread for reading inputStream (process' stdout)
    proc.getInputStream();

    // Create thread for reading errorStream (process' stderr)
    proc.getErrorStream()


    Another fact I can see why your ntpd has not stopped is maybe you havn't given
    enough time for the Process to be executed completely.

    Consider adding the following code into your program:


    // this will wait for the process to end!!! I think it is very important
    // not to interfere with other process in the O.S.
    int returnCode = proc.waitFor();

    String msg = "Shell command [" + commandString + "] result [";
    if (returnCode == 0)
    {
    msg += "SUCCEEDED";
    }
    else
    {
    msg = msg + "FAILED - ret code: " + returnCode;
    }
    msg += "]";



    Then you can print the msg to the standard output or simply trace it into your log.
    You shall see the error if occurs.

    Another thing I can suggest you to do is fully read the Process Javadoc and any related documents about using Process.

    Hope these help.


    import java.io.*;
    public chass shell{
    public static void main(String [] args)throws Exception{
    try

    {

    process = Runtime.getRuntime().exec ("bin/sh service ntpd stop");

    InputStreamReader ir=newInputStreamReader(process.getInputStream());

    LineNumberReader input = new LineNumberReader (ir);


    String line;

    while ((line = input.readLine ()) != null)

    System.out.println(line);

    }

    catch (java.io.IOException e){

    System.err.println ("IOException " + e.getMessage());

    }
    }
    ?

    來自 :http://www.cjsdn.net/post/view?bid=1&id=196586

    posted on 2009-04-26 02:38 picture talk 閱讀(425) 評論(0)  編輯  收藏 所屬分類: Java

    主站蜘蛛池模板: 青青青国产在线观看免费| 亚洲AV无码乱码国产麻豆穿越| 亚洲黄色免费电影| 又黄又爽又成人免费视频| 久久91亚洲精品中文字幕| 亚洲一级毛片免费看| 香蕉大伊亚洲人在线观看| 精品在线免费视频| 456亚洲人成影院在线观| 日韩a毛片免费观看| 18pao国产成视频永久免费| 久久亚洲精品无码AV红樱桃| 亚洲AV无码专区亚洲AV桃| 久久久WWW免费人成精品| 69式互添免费视频| 在线精品亚洲一区二区三区| 亚洲免费视频在线观看| 青青久久精品国产免费看| 免费中文字幕一级毛片| 亚洲高清无在码在线无弹窗| 理论片在线观看免费| 亚洲一区二区三区免费| 亚洲成_人网站图片| 四虎影在线永久免费观看| 亚洲国产精品自在在线观看| 免费精品国产自产拍在线观看图片| 亚洲最新黄色网址| 无码人妻一区二区三区免费n鬼沢| 四虎影院在线免费播放| 亚洲国产精品自在在线观看| 97视频免费在线| 图图资源网亚洲综合网站| 亚洲国产精品免费观看| 精品无码专区亚洲| 免费看美女被靠到爽的视频| 亚洲黄色免费在线观看| 免费看片A级毛片免费看| 中文字幕无线码中文字幕免费| 国产精品免费看久久久无码| 国产精品亚洲综合久久| 国产精品亚洲产品一区二区三区 |