python3 中subprocess.Popen(shell=True)产生两个进程的解决办法
2020-01-15 08:24
232 查看
bug现象
测试代码
cmd_date = 'python test_01.py' pro_load = subprocess.Popen(cmd_date, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)。
运行结果
解决办法:
方案一:
将xhell=False,cmd采用列表格式
cmd_date = ['python', 'test_01.py'] pro_load = subprocess.Popen(cmd_date, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=False) 运行结果:此时/bin/sh将不会解析运行。
方案二
指定子进程执行器(executable):
cmd_date = 'python test_01.py' pro_load = subprocess.Popen(cmd_date, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True, executable='bash')
运行结果:
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- Python中unicode自动加两个斜杠的解决办法
- adb shell查看进程提示grep不是内部命令或外部命令解决办法
- adb shell error:"unknown host service" 多次杀进程无效的解决办法
- Ubuntu14.04下启动栏打开chrome产生两个图标的解决办法
- jenkins构建shell或者python脚本中含有远程登录复制会报错解决办法
- 关于 shell到 linux服务器断掉进程的解决办法
- 什么是线程锁和进程锁?什么是死锁,死锁产生的原因和解决锁的办法
- 关于“ASP.NET SQL Server安装向导”常产生的两个错误的一般解决办法
- 两个办法帮你解决如何在Java中产生随机数
- 关于linux中shell的一些小问题解决办法
- Anaconda3工具包中Python常用配置及报错解决办法
- python安装的时候报SSL连接错误的解决办法
- DLINQ 使用DataContext快速构建数据访问层DAL,发现Updata采用Attach(Entity t,true)困难重重!(如果实体声明了版本成员或者没有更新检查策略,则只能将它附加为没有原始状态的已修改实体)的解决办法!
- 进程死锁及解决办法
- Opencv3.0-python: 视频处理时报错color.cpp:7456: error: (-215) scn == 3 || scn == 4 的解决办法
- Python Selenium 报错 ImportError: sys.meta_path is None, Python is likely shutting down 解决办法
- 查找80端口被哪个进程占用,80端口被NT kernel & System 占用pid 4的解决办法
- win10 内存居高不下,资源管理器看不到运行进程,达到百分之八九十的解决办法
- 【python学习】编码时写路径使用后斜杠导致的unicode error问题解决办法
- RCP: P2 Update两个烦人bug和解决办法