需要将python脚本的输出附加到文件中

需要将python脚本的输出附加到文件中,python,linux,bash,shell,Python,Linux,Bash,Shell,我正在尝试编写一个简单的shell脚本来启动和停止python脚本。我之所以这样做是因为我想使用名为monit的工具来监视进程,并且我还需要确保该脚本正在运行。下面是我的python脚本: test.py 下面是我的shell脚本: wrapper_test.sh 我想要的结果是,假设我做tail-f输出,我会看到工作人员来到文件中。我还尝试将1>&2更改为just>,但这会创建文件,并且一旦按下Ctrl+C,所有数据都会附加到文件中 但是现在,我看不到任何东西用>输出2>&1替换1>&2输出:

我正在尝试编写一个简单的shell脚本来启动和停止python脚本。我之所以这样做是因为我想使用名为monit的工具来监视进程,并且我还需要确保该脚本正在运行。下面是我的python脚本:

test.py 下面是我的shell脚本:

wrapper_test.sh 我想要的结果是,假设我做tail-f输出,我会看到工作人员来到文件中。我还尝试将1>&2更改为just>,但这会创建文件,并且一旦按下Ctrl+C,所有数据都会附加到文件中

但是现在,我看不到任何东西

用>输出2>&1替换1>&2输出:

将1>&2输出替换为>输出2>&1:


如果您不想剪切文件,请使用>>;也要获取stderr,请使用2>&1

exec /usr/bin/python /home/jhon/workspace/producer/test.py >> output 2>&1


如果您不想剪切文件,请使用>>;也要获取stderr,请使用2>&1

exec /usr/bin/python /home/jhon/workspace/producer/test.py >> output 2>&1


谢谢,这是一个非常好的建议
 exec /usr/bin/python /home/jhon/workspace/producer/test.py > output 2>&1
exec /usr/bin/python /home/jhon/workspace/producer/test.py >> output 2>&1
import time
import sys

for i in range(100):
    time.sleep(1)
    sys.stdout.write('a'*i)
    sys.stdout.flush()