[問題] Runtime.getRuntime().exec(cmd)沒有反應

看板java作者 (我叫雷恩)時間15年前 (2009/05/07 05:24), 編輯推噓3(303)
留言6則, 3人參與, 最新討論串1/2 (看更多)
我在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)

05/07 06:43, , 1F
改成"ping -c 1 -w 3 114.45.19.168 > pingSN.txt"試試.
05/07 06:43, 1F

05/07 10:00, , 2F
問題出在 >> 或 >,把整句寫成 script 再用 Runtime 跑
05/07 10:00, 2F

05/07 14:38, , 3F
謝謝樓上~但我剛試了改成">"還是不行耶@@
05/07 14:38, 3F

05/07 14:51, , 4F
我改了部份內容,可以問上面程式問題出在那嗎?
05/07 14:51, 4F

05/07 19:03, , 5F
Process.getOutputStream() 看 exec output lines
05/07 19:03, 5F
※ 編輯: ryan11 來自: 58.114.84.80 (05/08 02:25)

05/08 02:35, , 6F
謝謝s大~用P.getInputStream可以了~ 3Q
05/08 02:35, 6F
文章代碼(AID): #1A0W0Z2U (java)
文章代碼(AID): #1A0W0Z2U (java)