在python中调用了bash,并通过&>或者>将输入记录到log中时的顺序问题

示例代码

play1.py:

import os

print("hello world")

os.system("./twt.sh")

twt.sh:

#!/bin/bash

echo "[*] contentone"

echo "[*] contenttwo"

运行命令:python3 ./play1.py > log1.log

log1.log内容:

[*] contentone

[*] contenttwo

hello world

结论:可以看到,即使hello world在play1脚本中的顺序先于对twt脚本的调用,但是在日志内容中,twt中的输出还是在hell world之前。

解决方案,在每一条日志后面加上相应的linux时间戳。