同时运行两个监视命令

同时运行两个监视命令

我想通过输入一行代码或运行 shell 脚本在前台运行两个可执行文件。这些可执行文件监视目录并重新编译一些代码,同时将其状态输出到 stdout。

我希望 stdout 以与“tail”中以下两个文件相同的方式呈现,如下所示:

tail -f foo.txt -f bar.txt

==> foo.txt <==
Something

==> bar.txt <==
Something else

当发生更改时,它会在打印输出之前打印文件名。只有当需要指示输出来自其他文件时,它才会打印文件名。

答案1

由于这两个可执行文件都写入标准输出,您可能只需要tail进程替换生成的文件:

tail -f <( executable_one ) <( executable_two )

-f顺便说一下,只需要一个。这是一个全局选项,而不是需要为每个文件指定的东西。)

两个可执行文件分别运行,其输出被捕获并重定向到传递的文件句柄tail。在输出中,文件名将显示为“/dev/fd/63”之类的内容。不幸的是,我不知道如何让 tail 使用备用名称(例如使用grep--label选项)。

答案2

相关内容