作者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)
1F:推 ryan11:喔喔~谢谢大大解释~因为我之前c的system()是这样写的~ 05/07 15:25
2F:推 ryan11:所以以为java也是这样@@~3Q 05/07 15:28
3F:→ adrianshum:没记错的话, C 的 system 应该也是一样情况吧? 05/07 17:19
4F:推 ryan11:我在c中整行放入system("...")可以跑耶~ 05/08 02:26
5F:→ adrianshum:嗯,你对 :) 查了一查,原来 system 背後就是跑/bin/sh 05/08 09:08
6F:推 ryan11:还是谢谢a大的解释~^^ 05/09 03:23