模块 subprocess

import subprocess
# subprocess 是对os.system, os.spawn, os.popen的替换
# sub_tmp1 = subprocess.call(['df', '-hT'], shell=False)
# sub_tmp2 = subprocess.call(['du', '/home/hinimix', '--max-depth=1'])


# # 执行命令,返回执行状态, 0或非0
# tmp1 = subprocess.call(["ls", "-l"])
# tmp2 = subprocess.call("ls | wc -l", shell=True)
# # 如果命令结果为0,返回,否则抛异常
# tmp3 = subprocess.check_call(["ls", "-l"])
# # 接收字符串格式命令,返回元组结果, 第一个元素是执行状态,第二个元素是命令结果
# tmp4 = subprocess.getstatusoutput("ls /bin/ls")
# # 接收字符串格式命令,并返回结果
# tmp5 = subprocess.getoutput("ls /bin/ -l")

# 以上,底层封装的都是subprocess.popen
# tmp6 = subprocess.Popen("ifconfig | grep 192", shell=True, stdout=subprocess.PIPE)
# # 命令执行结果
# print(tmp6.stdout.read())
# print(tmp6.stderr.read())
# # 命令执行状态
# print(tmp6.poll())
# print(tmp6.wait())
# 命令行交互实例
tmp7 = subprocess.Popen(["python"], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
tmp7.stdin.write("print 1 \n")
tmp7.stdin.write("print 2 \n")
tmp7.stdin.write("print 3 \n")
tmp7.stdin.write("print 4 \n")
err_list = tmp7.communicate(timeout=10)
# 杀掉启动进程
# subprocess.ter

posted @ 2018-03-07 16:38  安慧桥没有你  阅读(142)  评论(0编辑  收藏  举报