在后台进程的 python 子进程中使用“&”
Use of '&' in a python subprocess for background process
下面两行有区别吗:
subprocess.Popen(command + '> output.txt', shell=True)
subprocess.Popen(command +' &> output.txt', shell=True)
由于popen已经在后台触发命令运行,我应该使用&
吗?使用 &
是否确保命令 运行s 即使 python 脚本结束执行?
请让我知道这两条线之间的区别,并建议这两条线中哪一条更好。
谢谢。
&>
指定标准错误必须重定向到与标准输出相同的目的地。这意味着命令的输出日志和错误日志也将写入 output.txt 文件。
单独使用 >
只会将标准输出复制到 output.txt 文件,并且可以使用 command 2> error.txt
写入标准错误
下面两行有区别吗:
subprocess.Popen(command + '> output.txt', shell=True)
subprocess.Popen(command +' &> output.txt', shell=True)
由于popen已经在后台触发命令运行,我应该使用&
吗?使用 &
是否确保命令 运行s 即使 python 脚本结束执行?
请让我知道这两条线之间的区别,并建议这两条线中哪一条更好。 谢谢。
&>
指定标准错误必须重定向到与标准输出相同的目的地。这意味着命令的输出日志和错误日志也将写入 output.txt 文件。
单独使用 >
只会将标准输出复制到 output.txt 文件,并且可以使用 command 2> error.txt