python subprocess 命令注入_Python的subprocess模块的使用

http://www.jb51.net/article/57208.htm

# coding=utf-8

import subprocess

import time

import os

import threading

import platform

import sys

# from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice, MonkeyImage

# from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice, MonkeyImage

def subprocess_demo():

# cmd="dumpsys SurfaceFlinger --latency-clear --latency com.android.browser/com.android.browser.BrowserActivity"

cmd = "ls"

subps = subprocess.Popen(

cmd,

# executable='/bin/bash',

bufsize=5,

stdin=subprocess.PIPE,

stdout=subprocess.PIPE,

stderr=subprocess.STDOUT,

shell=True)

# print(a.)

time.sleep(5)

'''

subprocess.returncode

#获取进程的返回值。如果进程还没有结束,返回None。

'''

print(subps.returncode)

'''

subprocess.call(*popenargs, **kwargs)

该函数将一直等待到子进程运行结束,

并返回进程的returncode,如果子进程不需要进行交互,就可以使用该函数来创建.

'''

print(subps.wait())

# print(time.time())

# time.sleep(1)

def getcwd_demo():

print(os.getcwd()) # 获取当前绝对路径

def RunOnce(cmd, isJoin=None):

so = []

pid = []

def Run():

"""

运行

"""

pipe = subprocess.Popen(

cmd,

stdin=subprocess.PIPE,

stdout=None,

stderr=subprocess.STDOUT,

shell=True)

pid.append(pipe.pid)

try:

output = pipe.communicate(input=None)[0]

if output is not None and len(output) > 0:

so.append(output)

except OSError:

so.append("ERROR")

t = threading.Thread(target=Run)

t.start()

# if not isJoin:

# t.join()

return "".join(so)

def getPackgeActivity():

sys_info = platform.system()

if sys_info is "Windows":

find_util = "findstr"

else:

find_util = "grep"

cmd = "adb shell dumpsys SurfaceFlinger --latency-clear --latency com.android.browser/com.android.browser.BrowserActivity"

# cmd = "adb shell dumpsys window w | " + find_util + " \/| " + find_util + " name="

RunOnce(cmd)

if __name__ == '__main__':

# device = MonkeyRunner.waitForConnection()

# getcwd_demo()

# subprocess_demo()

getPackgeActivity()

# print(getPackgeActivity())

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值