Bash-如何在Bash中捕获前台和后台进程日志



我正在bash中的同一终端上运行一些任务。有没有一种方法可以将我在bash终端上看到的所有日志流式传输到日志文件中?我知道从技术上讲,可以用管道传输单个任务的日志,但不知道是否有更优雅的方法。到目前为止,这就是我正在做的:

$> python background1.py > logs/bg1.log & 
python background2.py > logs/bg2.log & 
python foreground.py | tee logs/fg.log

有没有一种方法可以让我把所有的东西都捕捉到一起?(有点类似于CI/CD工具在浏览器中显示所有终端输出的方式(。

我不知道你所说的所有东西在一起到底是什么意思,但也许这会帮助你

( python background1.py & python background2.py & python foreground.py ) | tee logs/one.log

你总是可以做:

nohup python background1.py >> logs/log.log & 2>&1 
nohup python background2.py >> logs/log.log & 2>&1 
nohup python foreground.py >> logs/log & 2>&1

这样,所有日志输出都将进入同一个日志文件。这就是你的意思吗?

最新更新