python - Python 3 子进程崩溃
问题描述
我对 subprocess.Popen、subprocess.call 或 subprocess.run 有疑问。如果我尝试运行以下脚本:
cmd = "\"C:/Program Files (x86)/Phoenix Contact Software/TPS Configurator/FS_PROG/FS_PROG.exe\""
arg1 = " \"tps_configurator.xml\""
arg2 = " 192.168.16.227"
arg3 = " 192.168.16.29"
arg4 = ' {0:0{1}X} '.format(intmac,12)
arg5 = ' {0:0{1}X} '.format(intmac + 1,12)
arg6 = ' {0:0{1}X} '.format(intmac + 2,12)
arg7 = " \"0 \""
p = subprocess.Popen(cmd + arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7)
time.sleep(5)
input("\npress enter to quit")
Python 崩溃,我启动脚本的 powershell 立即关闭。
如果我删除 time.sleep(5) 它可以工作。使用 p.wait() 我有同样的问题。
如果脚本等待程序,它就会崩溃。
我还尝试了 os.system、subprocess.run 和 subprocess.call,结果相同。
我用 Python 3.9.5 和 Python 3.10 进行了尝试。
解决方案
推荐阅读
- ionic3 - Ionic 3 存储套装并变得怪异
- python - 在sqlalchemy中批量更新的where子句中添加多个条件
- php - 如何在while循环中使用curl传递数据库表值?
- testing - 如果测试用例 100% 失败,我们如何使用 Jenkins 发送自定义电子邮件?
- angular - 登录 rwditects 到在浏览器中打开的 url 后,使用 inappbrowser 应用程序用科尔多瓦问题包装 Angular 应用程序
- java - 无需 1+n+n*m 查询即可延迟加载整个实体图的 JPA 方法?
- amazon-web-services - 如何在 7 天内自动忽略 AWS CodePipeline Approval
- elasticsearch - 无法使用日期范围实现聚合
- plot - 在gnuplot中绘制极坐标中的角度与半径
- c++ - 模板化运算符 ==