python - 在Python子进程中使用 '&'作为后台进程

标签 python shell subprocess background-process popen

以下两行之间有什么区别吗:

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

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

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

最佳答案

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

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

关于python - 在Python子进程中使用 '&'作为后台进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59169174/

相关文章:

shell - "Exec format error"docker 运行命令

python子进程: order of output changes when using subprocess. PIPE

android - 如何使用子进程写入文件

linux - 如果目录中不存在具有其他扩展名的文件名,则删除该文件

linux - 在 shell unix 中查看操作系统版本

python - 调试 subprocess.Popen 调用

python - 将 mongodb 返回对象转换为字典

python - 在windows平台上的Xampp上运行Python代码

python - 用 Python 创建雪花

python - 计算两对 X 和 y 之间相似度的最佳实践是什么