如何在Bash中"拖动此文件直到该进程停止"?

Fix*_*int 5 bash shell

我有几个脚本来控制一些应用程序(启动/停止/列表/等).目前我的"停止"脚本只是向应用程序发送一个中断信号,但是我希望得到关于应用程序在关闭时做什么的更多反馈.理想情况下,我想开始跟踪其日志,然后发送一个中断信号,然后继续跟踪该日志,直到应用程序停止.

如何使用shell脚本执行此操作?

ndi*_*dim 11

对于刚刚拖尾一个日志文件,直到一定的处理终止(使用tail来自GNU的coreutils):

do_something > logfile &
tail --pid $! -f logfile
Run Code Online (Sandbox Code Playgroud)

更新上面包含一个竞争条件:如果do_something喷出许多行logfile,tail将跳过所有这些,但最后几个.要避免这种情况并始终tail打印完整的日志文件,请-n +1tail调用中添加一个参数(即使是POSIX tail(1)):

do_something > logfile &
tail --pid $! -n +1 -f logfile
Run Code Online (Sandbox Code Playgroud)