我有一个 bash 脚本,它可以衍生出三个这样的进程:
CD FOO_DIR && ./run-foo
CD BAR_DIR && ./run-bar
CD BAZ_DIR && ./run-baz
我想要一个工具,将父 shell 分成三个部分(水平或垂直 - 没有区别),并分别显示每个部分中每个子进程的输出。
有这样的工具吗?
答案1
正如已经说过的,屏幕应该适合您的需要。
创建一个如下所示的屏幕配置文件:
startupmessage off
split
split
screen -t top top # -t <title> <command>
screen -t netstat watch netstat -tanp
screen -t date watch date
select top # In the first screen show the screen titled 'top'
focus down # Focus down to next screen
select netstat # Show screen titled 'netstat'
focus down # Focus down to the next screen
select date # Show the screen titled date
我们将此文件命名为screen_run
。然后只需运行screen。-c选项指定要使用的配置文件:
screen -c screen_run
如果您想要垂直分割,您应该能够使用split -v
代替split
。
答案2
除此之外screen
,您可能还想看看tmux
每种方法都有其优点和缺点,您可能更喜欢其中一种方法处理拆分问题,而不是另一种方法。