首页 > 解决方案 > 在后台进程的python子进程中使用'&'

问题描述

以下两行之间是否有任何区别:

subprocess.Popen(command + '> output.txt', shell=True)
subprocess.Popen(command +' &> output.txt', shell=True)

由于 popen 已经触发命令在后台运行,我应该使用&吗?&即使 python 脚本结束执行,是否使用确保命令运行?

请让我知道这两条线之间的区别,并建议两条线中哪一条更好。谢谢。

标签: pythonshellsubprocessbackground-processpopen

解决方案


&>指定标准错误必须重定向到与标准输出相同的目的地。这意味着命令的输出日志和错误日志也将写入 output.txt 文件中。

单独使用>只会将标准输出复制到 output.txt 文件中,并且可以使用编写标准错误command 2> error.txt


推荐阅读