python - 在后台进程的python子进程中使用'&'
问题描述
以下两行之间是否有任何区别:
subprocess.Popen(command + '> output.txt', shell=True)
subprocess.Popen(command +' &> output.txt', shell=True)
由于 popen 已经触发命令在后台运行,我应该使用&
吗?&
即使 python 脚本结束执行,是否使用确保命令运行?
请让我知道这两条线之间的区别,并建议两条线中哪一条更好。谢谢。
解决方案
&>
指定标准错误必须重定向到与标准输出相同的目的地。这意味着命令的输出日志和错误日志也将写入 output.txt 文件中。
单独使用>
只会将标准输出复制到 output.txt 文件中,并且可以使用编写标准错误command 2> error.txt
推荐阅读
- c# - RDOMail.Recipients 不包含接收用户的密件抄送地址
- node.js - DocuSign JSON Web Token (JWT) 授权流程返回 invalid_grant 错误,issuer_not_found
- c# - 为什么 C# PowerShell.Create() 在 .NET Core 的情况下返回 null?
- java - 将 JPanel 的宽度绑定到 JScrollPane 的宽度以防止自动调整大小
- mysql - gorm create 函数是否存在任何并发问题?
- php - 页面变为空白,Php 上的功能
- node.js - 在整个项目中更改查询 find() 参数
- c# - 如何使用 Distinct 选项过滤与不同外键相关的列名的值。C# .NET Lambda LINQ
- python - 为什么 Python3 会执行一段被注释掉的代码?
- c# - 异常详细信息:System.Security.Policy.PolicyException:无法获取所需的权限