研究了大半天,为了获取持续输出的shell指令结果,并对结果进行分析,一直因为无法控制subprocess开启的子进程头疼,研究了半天,参考众多大神的博客后,终于实现,目前已时间为控制点,在实际业务中,可以通过判断业务执行是否完成来达到停止subprocess子进程的目的。

 1 #程序执行终止时间为当前时刻延迟15秒
 2 stoptime = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()+10))
 3 def run_adbshell():
 4     p = subprocess.Popen(command,stdout=subprocess.PIPE,stderr=subprocess.PIPE,shell=True)
 5     while True:
 6         line=p.stdout.readline().strip()
 7         print(line)
 8         #当前时间
 9         curtime = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
10         if curtime>=stoptime:
11             #终止子进程
12             p.terminate()
13             #等待子进程终止后跳出while循环
14             if subprocess.Popen.poll(p) is not None:
15                 break
16             else:
17                 print(u'等待subprocess子进程终止。')
18     print(u'完成')

转载于:https://www.cnblogs.com/ListenWind/p/5626957.html

Python subprocess执行持续输出shell命令的控制相关推荐

  1. Python下调用Linux的Shell命令

    转载:http://blog.csdn.net/my2010sam/article/details/18315785 有时候难免需要直接调用Shell命令来完成一些比较简单的操作,比如mount一个文 ...

  2. sharpssh远程linux监控系统,利用SharpSsh远程执行linux的shell命令

    利用SharpSsh远程执行linux的shell命令 (2011-07-26 14:38:02) SharpSSH是一个C#的开源项目,可以利用SSH连接linux系统.并执行shell等命令. 而 ...

  3. java解析shell命令_Android中执行java命令的方法及java代码执行并解析shell命令

    这篇文章给大家介绍Android中执行java命令的方法及java代码执行并解析shell命令,需要的朋友一起学习 android中执行java命令的方法大家都晓得吗,下面一段内容给大家带来了具体解析 ...

  4. pythonsubprocess执行多条shell命令_python中subprocess批量执行linux命令

    可以执行shell命令的相关模块和函数有: os.system os.spawn os.popen --废弃 popen --废弃 commands --废弃,3.x中被移除 以上执行shell命令的 ...

  5. python如何执行代码漏洞_命令执行与代码执行漏洞原理

    本篇笔记摘自微信"黑白天",如有侵权,联系删除 命令执行定义 当应用需要调用一些外部程序去处理内容的情况下,就会用到一些执行系统命令的函数.如PHP中的system,exec,sh ...

  6. 怎么打开python shell_Python之使用adb shell命令启动应用的方法详解

    一直有一个心愿希望可以用Python做安卓自动化功能测试,在一步步摸索中,之前是用monkeyrunner,但是发现对于控件ID的使用非常具有局限性,尤其是ID的内容不便于区分 具有重复性时,后面又发 ...

  7. awk命令中执行多条shell命令

    awk中使用的shell命令,有2种方法: 一.使用system() 二.使用print cmd | "/bin/bash" http://www.gnu.org/software ...

  8. C语言执行Linux的shell命令并获得返回值

    popen函数执行命令后,返回一个指向该命令输出的文件句柄,接下来就可以用fgets等文件操作函数去读取输出结果. #include <stdio.h> FILE *popen(const ...

  9. nohup php,使用php执行多个shell命令nohup

    我一直在问自己这个多年,但我总觉得有没有其他解决办法不是将所有命令到一个脚本并执行它想:nohup . ./multiplecommands.sh & 我不知道为什么我没有早尝试,但至少这个小 ...

最新文章

  1. FreeSWITCH配置文件详解
  2. python的数值类型和运算符_Python中的基本数据类型和运算符,python
  3. GPU高效通信算法-Ring Allreduce
  4. 【软考】2017年11月软件设计师上午真题9-12题答案解析
  5. [react] 你有使用过loadable组件吗?它帮我们解决了什么问题?
  6. Cmder 设置默认打开目录、解决中文乱码
  7. VB 泛型 T 应用
  8. 6 月 Android 系统份额:7.1 发布半年仅占比 0.6 %
  9. java中的getinstance_Java中的KeyPairGenerator getInstance()方法
  10. Flutter图片处理之高斯模糊
  11. Rush rush 。◕.◕。
  12. unzip解压部分代码
  13. 财报惊喜不断,京东彻底走出阴霾?
  14. CRM为何要给贴标签?
  15. 贪玩蓝月-大漠模拟脚本源码
  16. oracle中的declare
  17. 如何更换戴尔 燃7000 Dell Inspiron 7460的电池
  18. java小游戏------Flappy Bird(飞翔的小鸟含源码)
  19. 西门子S7-1200和人机界面测试
  20. VMware配置虚拟机网络

热门文章

  1. 从源码出发深入理解 Android Service
  2. Mach-O的动态链接相关知识
  3. 公文字体字号标准2020_党政机关公文格式典型错误20例,引起重视!
  4. win7装xp双系统_联智通达什么系统装工控电脑好_搜狐汽车
  5. QtGraphicView添加图元
  6. matlab计算斜方差_协方差与协方差矩阵(附Matlab实现)
  7. Codechef SEAARC Sereja and Arcs (分块)
  8. 数组的合并和升序排列_JavaScript - 数组排序 6 种常见算法是什么?
  9. python开发是不是苦累_Python 2.7 辛苦了,你好Python 3.7
  10. mysql 临时列_mysql – 在SQL中添加一个临时列,其中值取决于另一列