打开一个新的终端窗口并在java中执行命令而不使用bash脚本

时间:2013-03-22 14:27:58

标签: java macos bash terminal

例如,这是我的bash脚本

osascript -e 'tell app "Terminal"
 do script "./process1"
end tell'

osascript -e 'tell app "Terminal"
 do script "./process2"
end tell'

基本上,它将打开两个不同的终端窗口(在mac上)并执行已定义的命令。我尝试在java中执行此操作

process1 = Runtime.getRuntime().exec(new String[]{"process1"});
process2 = Runtime.getRuntime().exec(new String[]{"process2"});

问题是似乎只有一个终端被打开(并且不可见 - 它在后台运行)然后执行两个命令process1和process2。但是因为进程1会使该终端忙,所以process2无法运行。这就是为什么我想打开不同的终端来执行这些命令。

1 个答案:

答案 0 :(得分:0)

为每一个创建一个线程。并给出一个时间空间“睡眠(一段时间线程1或2)”,这将根据您的操作系统运行。