我想用一个启动脚本启动几个程序并监视它们向控制台的输出。
最简单的方法是在后台为每个程序启动一个 xterm,但是这不是很好(我不喜欢周围有太多的窗口)。
我想到的另一种方法是将它们的输出重定向到日志文件,然后使用它们multitail
在单个终端中查看它们的输出,但如果我想杀死它们,我需要查看它们的 PID,然后发出命令,kill
而不是直接进入它们的终端并按下Ctrl+C
。此外,如果某些程序使用 curses 或类似程序,这种方法效果不佳。
我的理想选择是使用screen
多路复用终端(甚至以分割方式显示所有终端),但我在手册页中找不到与此相关的任何选项,而且谷歌搜索screen
不会给出任何有用的结果,因为这是一个非常通用的术语。
那么,关于如何实现与我想要的类似的事情,有什么建议吗?
答案1
答案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
停止其中一个程序。