作者adrianshum (Alien)
看板java
標題Re: [問題] Runtime.getRuntime().exec(cmd)沒有反應
時間Thu May 7 14:54:16 2009
※ 引述《ryan11 (我叫雷恩)》之銘言:
[43]
: String cmd4 = "ping -c 1 -w 3 tw.yahoo.com.tw > pingSN.txt"
[43]
: --
: ※ 發信站: 批踢踢實業坊(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 來自: 140.116.247.200 (05/07 14:50)
: → ryan11:我改了部份內容,可以問上面程式問題出在那嗎? 05/07 14:51
s 大所說的, 是 > 或 >> 並不能被執行.
你平常 > 或 >> 或 | 的功效是由 shell 提供的.
你單跑 ping, 它根本不會如何處理 >
所以 s 大說寫成 script 再跑的意思就是這個
概念上, 你不是直接跑 ping
而是跑 shell, 由 shell 去跑你那句 command
另外, 秀訊息我沒記錯你要自己拿 exec return 出來的 process
的 output stream 或 error stream 讀
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 202.155.236.82
※ 編輯: adrianshum 來自: 202.155.236.82 (05/07 14:56)
推 ryan11:喔喔~謝謝大大解釋~因為我之前c的system()是這樣寫的~ 05/07 15:25
推 ryan11:所以以為java也是這樣@@~3Q 05/07 15:28
→ adrianshum:沒記錯的話, C 的 system 應該也是一樣情況吧? 05/07 17:19
推 ryan11:我在c中整行放入system("...")可以跑耶~ 05/08 02:26
→ adrianshum:嗯,你對 :) 查了一查,原來 system 背後就是跑/bin/sh 05/08 09:08
推 ryan11:還是謝謝a大的解釋~^^ 05/09 03:23