我有一些服务会在文件中生成日志logs.log
。
我还有其他一些与此服务交互的命令。假设它是一些foo.sh
.
我需要的是在运行logs.log
期间准确地剪切和保存日志。foo.sh
换句话说,当它与我的交互时,我需要服务日志的那一部分foo.sh
(所以我不关心foo.sh
的日志)。
我希望这个命令可以解决问题,但它会在foo.sh
完成后继续读取文件:
> foo.sh | tail -f logs.log > foo_part.log
有什么好方法来执行这个技巧吗?
通过将后台进程发送到后台,这变得相当简单:
$!
捕获发送到后台运行的最后一个作业的 PID,以便我们可以wait
在您的脚本上完成,然后在我们不再需要它时处理kill
该进程。tail
这个版本也可以(我认为):
请注意,%1 将命中子外壳中的第一个后台进程