从终端 1 创建新终端,执行命令(例如:启动 JBoss),返回终端 1

从终端 1 创建新终端,执行命令(例如:启动 JBoss),返回终端 1

正如标题所述,我想从(比如说)终端 1 启动一个新终端。新终端将执行一个命令(比如说,启动 JBoss)。启动 JBoss 后,终端 2 中将有 JBoss 登录,所以我不想留在那里,因为我还有其他任务要做。我想将控制权交还给终端 1,这样我就可以执行其他命令。我正在运行脚本。

示例场景:运行一个脚本,我需要:(1)安装 JBoss(2)启动 JBoss(3)在 jboss 中部署代码。

注意:创建新终端不是问题。我可以关注。问题是返回主终端执行进一步的命令。

答案1

你可以简单地这样做:

gnome-terminal -e jboss_command; exit;

一旦jboss_command完工,新航站楼就应该关闭。

但是,你几乎肯定不希望这样。没有必要打开新终端。只需在后台运行命令即可:

jboss_command &

如果创建了输出,请像这样运行它:

jboss_command &>/dev/null &

末尾的&使命令在后台运行,允许您继续使用终端。&>/dev/null将标准错误和标准输出重定向到/dev/null,它基本上会丢弃命令打印的所有消息。因此,jboss像这样运行命令将使您能够在命令运行时继续在同一终端上工作。

答案2

我喜欢使用“screen”来完成这类工作。您可以安装它并按sudo apt-get install screen如下方式使用它:

  • 使用以下命令打开新屏幕(终端)screen
  • 在其中执行你的命令
  • 使用“ctrl+a”释放键将其分离(暂时退出),然后仅按“d”
  • 也可以选择打开另一个,并在其中执行一些操作,然后将其分离
  • 当你想返回时输入screen -ls
  • 然后重新连接你想要的一个screen -r screen_name

man screen了解更多!

相关内容