在分割终端中启动一些程序

在分割终端中启动一些程序

我想用一个启动脚本启动几个程序并监视它们向控制台的输出。

最简单的方法是在后台为每个程序启动一个 xterm,但是这不是很好(我不喜欢周围有太多的窗口)。

我想到的另一种方法是将它们的输出重定向到日志文件,然后使用它们multitail在单个终端中查看它们的输出,但如果我想杀死它们,我需要查看它们的 PID,然后发出命令,kill而不是直接进入它们的终端并按下Ctrl+C。此外,如果某些程序使用 curses 或类似程序,这种方法效果不佳。

我的理想选择是使用screen多路复用终端(甚至以分割方式显示所有终端),但我在手册页中找不到与此相关的任何选项,而且谷歌搜索screen不会给出任何有用的结果,因为这是一个非常通用的术语。

那么,关于如何实现与我想要的类似的事情,有什么建议吗?

答案1

针对您的具体问题没有建议,但是您是否也考虑过tmux据说配置起来更容易。看看博客文章中提供了更多信息以及与屏幕相比的一些优势。

答案2

可以通过加载自定义屏幕配置文件来使用屏幕执行此操作。以下是在分割终端中启动和监控四个程序的示例。launch_file在某处创建一个包含以下内容的文件:

split
split
split
screen program1
focus down
screen program2
focus down
screen program3
focus down
screen program4

其中 program1、program2... 是您希望运行的四个程序。现在,在(大型)xterm 或类似程序中输入screen -c launch_file。您应该看到一个四向分割视图,每个视图中都有一个程序在运行。您可以使用Ctrl+a tab循环浏览四个窗口,并使用Ctrl+c停止其中一个程序。

相关内容