例如,这是我的 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 将使该终端保持忙碌,因此进程 2 无法运行。这就是为什么我想打开不同的终端来执行这些命令。
最佳答案
为每个人创建一个线程。并给出一个时间空间“ sleep (线程 1 或 2 一段时间)”,这将根据您的操作系统运行。
关于java - 打开一个新的终端窗口并通过java在其中执行命令而不使用bash脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15572838/