关于一JAVA程序运行另一程序的输出问题,555,多给些分,帮忙啊~~~~

acute 2003-03-10 04:32:09
我有一段SHELL代码,名字叫做test.sh。
运行命令
sh test.sh
会在屏幕上打印出haha字符串。

我在UNIX机器中,用如下命令运行,让它在后台运行,不输出,但是要得到它在后台的进程号,可以用如下命令
nohup sh test.sh >/dev/null&
则会在屏幕上输出它的进程号,如:
[1] 3403

问题来了,我要在一个程序中运行这个test.sh,同样输出进程号,我有如下代码

import java.io.BufferedReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
public class test {
public test() {
super();
}

public static void main(String[] args) {
try {
String cmd = "nohup sh test.sh >/dev/null&";
Process child = Runtime.getRuntime().exec(cmd);
InputStream child_in = child.getInputStream() ;
BufferedReader inbr=new BufferedReader(new InputStreamReader(child_in));

String line;
line=inbr.readLine();
while (line!=null)
{
System.out.println(line);
line=inbr.readLine();
}
child_in.close();
child.destroy() ;
} catch (IOException e) {
System.err.println(e);
}

}
}


问题!问题!他没给输出进程号,而是"haha"!!
可是,我的cmd明明是"nohup sh test.sh >/dev/null&"啊!!!!
...全文
61 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
acute 2003-03-11
  • 打赏
  • 举报
回复
yuebenxian(飘逸) ,要跨平台啊,比如我需要在SOLARIS和AIX系统中都用这样的程序,编成SO文件是一种解决方法,可是那跟直接用C写有什么区别啊,到别的UNIX平台下一律需要重新编译
yuebenxian 2003-03-11
  • 打赏
  • 举报
回复
你写成dll文件,然后调用dll就可以了,我认为可行..但是具体淂需要你做!
提供你思路!
acute 2003-03-11
  • 打赏
  • 举报
回复
不行啊,system仅仅是C的函数,JAVA里用不成啊
shengzi_78 2003-03-10
  • 打赏
  • 举报
回复
以前在unix c shell里写c的程序事事用system()就可以了,这也是shell的一个好处(我认为),不过接触不多,对java还是初学,不知道是否可行,关注。
toby400822 2003-03-10
  • 打赏
  • 举报
回复
没用过unix,帮你顶一下
acute 2003-03-10
  • 打赏
  • 举报
回复
问题是我这是从JAVA程序里面调用啊,那在JAVA代码中我该怎么写呢?
yuebenxian 2003-03-10
  • 打赏
  • 举报
回复
system("ls")
就是相当与在sh下面执行ls.
以前做网管系统就这么做的..这个是unix的系统命令啊!!!应该可以的.你再试一试.
acute 2003-03-10
  • 打赏
  • 举报
回复
yuebenxian(飘逸) , 仔细说说
你说的system是个函数吗??不过RunTime类中没这个函数啊,它是哪个类的?
yuebenxian 2003-03-10
  • 打赏
  • 举报
回复
应该system(cmd)

你试一试..好久都不用unix了
newbig 2003-03-10
  • 打赏
  • 举报
回复
水平有限,不会,帮你顶一下

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧