在一个控制台中启动在 shell 中运行的多个应用程序

在一个控制台中启动在 shell 中运行的多个应用程序

我需要启动多个在 shell 中运行的应用程序并监控它们的执行情况。目前我有一个主脚本,用于在新的 gnome 控制台中启动所有应用程序,但我更愿意在分屏的同一个窗口中启动它们。

这个帖子一个窗口中有多个 shell解释了如何使用分屏与多种类型的控制台应用程序(如屏幕、终结者和 byobu)。手动操作效果很好,但我希望能够从主脚本自动在分屏控制台中启动所有应用程序。在上述工具的文档中,我找不到任何可以从脚本自动实现这一点的方法。

有任何想法吗?

答案1

您可以创建一个自定义屏幕配置文件,它将打开多个分屏并在其中启动您的脚本。它看起来应该像这样:

screen script1.sh # Open first screen and launch first script
split             # Make second split
focus             # Switch to second split
screen script2.sh # Open second screen and launch second script
split             # Make third split
focus             # Switch to third split
screen script3.sh # Open third screen and launch third script

将其放入名为 myscripts 的文件中,然后使用 启动屏幕screen -c myscripts。如果您喜欢垂直分割,只需将 -v 添加到 split 命令中。

如果您想要网格布局,请尝试如下操作:

screen script1.sh # Open first screen and launch first script
split -v          # Make second split
focus             # Switch to second split
screen script2.sh # Open second screen and launch second script
split             # Make third split
focus             # Switch to third split
screen script3.sh # Open third screen and launch third script
focus             # Cycle back to first split
split             # Split first split horizontally
focus             # Switch to new split
screen script4.sh # Open fourth screen and launch fourth script

答案2

我知道这是一个老问题,但值得一提的是,这个工具可以很好地满足您的需要:

https://github.com/pvolok/mprocs

它在一个终端中运行所有需要的进程并允许控制它们(终止、停止、启动、重启)。非常适合运行本地服务器(flask、expressJS 等)

例子:

mprocs "sleep 5" "sleep 2" vi

mprocs 正在运行 3 个进程

相关内容