作者ryan11 (我叫雷恩)
看板java
標題[問題] Runtime.getRuntime().exec(cmd)沒有反應
時間Thu May 7 05:24:47 2009
我在ubuntu下寫了一個java的程式
程式碼如下:
public class tt
{
public static void main(String[] args)
{
try
{
String cmd1 = "ping -c 1 -w 3 114.45.19.168 >> pingSN.txt" ;
String cmd2 = "ping -c 1 -w 3 114.45.19.168";
String cmd3 = "ping -c 1 -w 3 tw.yahoo.com";
String cmd4 = "ping -c 1 -w 3 tw.yahoo.com > pingSN.txt"
String cmdS = "skype";
Process P = Runtime.getRuntime().exec(cmd1);
System.out.println( P.waitFor() );
System.out.println("finish" );
}
catch(Exception e)
{System.out.println(e);
}
}
}
---------------
執行 cmd1 沒有辦法順利執行,我要ping的沒有寫到pingSN.txt, 且P.waitFor=2
執行 cmd2 也沒反應,P.waitFor也是2,應該是這個IP ping不到
執行 cmd3 P.waitFor是0耶,應該是有ping到,但訊息都不會秀出來,要如何秀出呢?
執行 cmd4 P.waitFor又是2了,也沒寫到pingSN.txt~
而且如果我是執行cmdS,執行就會成功,skype就會啟動
我想要知道到ping的訊息,以知道這個ip可不可以被ping到,要如何做呢?
先謝謝了m(_ _)m
--
※ 發信站: 批踢踢實業坊(ptt.cc)
推 zeat:改成"ping -c 1 -w 3 114.45.19.168 > pingSN.txt"試試. 05/07 06:43
推 superlubu:問題出在 >> 或 >,把整句寫成 script 再用 Runtime 跑 05/07 10:00
→ ryan11:謝謝樓上~但我剛試了改成">"還是不行耶@@ 05/07 14:38
→ ryan11:我改了部份內容,可以問上面程式問題出在那嗎? 05/07 14:51
推 superlubu:Process.getOutputStream() 看 exec output lines 05/07 19:03
※ 編輯: ryan11 來自: 58.114.84.80 (05/08 02:25)
→ ryan11:謝謝s大~用P.getInputStream可以了~ 3Q 05/08 02:35