subprocess.Popen()
def run():
str_shell='ipconfig'
sub=subprocess.Popen(args=str_shell,shell=True,stdin=subprocess.PIPE,stdout=subprocess.PIPE,
stderr=subprocess.PIPE,universal_newlines=True)
try:
out,err=sub.communicate(timeout=15)
except TimeoutExpired:
sub.kill()
out, err = sub.communicate()
#res=sub.stdout.readlines() if sub.returncode == 0:
if out:
#log.info("执行输出正常")
log.info(out)
return out
if err:
#log.error("出现异常")
log.error(err,exc_info=True)
else:
if sub.returncode == 1:
log.error("执行shell对象结果有空")
else:
raise subprocess.CalledProcessError(sub.returncode, str_shell)
[root@hostuser src]# python3 subprocess_popen.py
[INFO]2019-05-18 23:39:07 Sat --app-- subprocess_popen.py:
<class 'str'>
[INFO]2019-05-18 23:39:07 Sat --app-- subprocess_popen.py:
Filesystem 1M-blocks Used Available Use% Mounted on
/dev/mapper/centos-root 27627 8627 19000 32% /
devtmpfs 894 0 894 0% /dev
tmpfs 910 1 910 1% /dev/shm
tmpfs 910 11 900 2% /run
tmpfs 910 0 910 0% /sys/fs/cgroup
/dev/sda1 1014 232 783 23% /boot
tmpfs 182 1 182 1% /run/user/42
tmpfs 182 0 182 0% /run/user/0
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:9100 0.0.0.0:* LISTEN 6481/node_exporter
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/systemd
tcp 0 0 127.0.0.1:8080 0.0.0.0:* LISTEN 7057/unicorn master
tcp 0 0 127.0.0.1:9168 0.0.0.0:* LISTEN 6505/ruby
tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 9232/dnsmasq
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 7211/sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 7212/cupsd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 7459/master
tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN 52237/sshd: root@pt
tcp 0 0 127.0.0.1:6011 0.0.0.0:* LISTEN 57561/sshd: root@pt
tcp 0 0 0.0.0.0:8060 0.0.0.0:* LISTEN 6479/nginx: master
tcp 0 0 0.0.0.0:8989 0.0.0.0:* LISTEN 6479/nginx: master
tcp 0 0 127.0.0.1:9121 0.0.0.0:* LISTEN 6485/redis_exporter
tcp 0 0 127.0.0.1:9090 0.0.0.0:* LISTEN 6472/prometheus
tcp 0 0 127.0.0.1:9187 0.0.0.0:* LISTEN 6494/postgres_expor
tcp6 0 0 :::111 :::* LISTEN 1/systemd
tcp6 0 0 ::1:9168 :::* LISTEN 6505/ruby
tcp6 0 0 :::22 :::* LISTEN 7211/sshd
tcp6 0 0 :::23 :::* LISTEN 35527/xinetd
tcp6 0 0 ::1:631 :::* LISTEN 7212/cupsd
tcp6 0 0 ::1:25 :::* LISTEN 7459/master
tcp6 0 0 ::1:6010 :::* LISTEN 52237/sshd: root@pt
tcp6 0 0 ::1:6011 :::* LISTEN 57561/sshd: root@pt
NoneType: None
[root@hostuser src]#
subprocess.Popen()的更多相关文章
- Python subprocess.Popen communicate() 和wait()使用上的区别
之所以会纠结到这个问题上是因为发现在调用Popen的wait方法之后程序一直没有返回.google发现wait是有可能产生死锁的.为了把这个问题彻底弄清楚,搜索一些资料过来看看: 原文链接:http: ...
- python subprocess.Popen 非阻塞
1.非阻塞设置subprocess.Popen(args, stdout=subprocess.PIPE,stderr=subprocess.PIPE) def non_block_read(outp ...
- python中subprocess.Popen.poll
import subprocess proc = subprocess.Popen(['python', 'test.py'], stdout=subprocess.PIPE) while 1: pr ...
- Python subprocess Popen
目的:顺序执行进程 在Bash里面类似 a.sh && b.sh && c.sh 先来说下Popen这个函数 class subprocess.Popen(args ...
- python中的subprocess.Popen()使用
python中的subprocess.Popen()使用 从python2.4版本开始,可以用subprocess这个模块来产生子进程,并连接到子进程的标准输入/输出/错误中去,还可以得到子进程的返回 ...
- python subprocess.Popen 控制台输出 实时监控百度网ping值
import subprocess file_out = subprocess.Popen('ping www.baidu.com', shell=True, stdout=subprocess.PI ...
- Python调用subprocess.Popen卡死的解决方案
转载自:https://www.cnblogs.com/keke-xiaoxiami/p/7875009.html 在Python中,调用:subprocess.Popen(cmd, stdout = ...
- subprocess.Popen指令包含中文导致乱码问题解决
其实解决起来非常简单,如果了解到Windows中文系统编码为GB2312的话 只需将你包含中文的指令字符串编码为GB2312即可 cmd = u'cd 我的文档' cmd.encode('gb2312 ...
- python - 远程主机执行命令练习(socket UDP + subprocess.Popen()) 练习1
环境是windows 环境. server端: import socket import subprocess ss = socket.socket(socket.AF_INET,socket.SOC ...
- subprocess.Popen模块
该类用于在一个新的进程中执行一个子程序.subprocess模块底层的进程创建和管理是由Popen类来处理的. 1.subprocess.Popen的构造函数 class subprocess.Pop ...
随机推荐
- docker容器 - 新建容器、启动容器、暂停容器和停止容器
实验环境 CentOS 7.5 容器 容器是镜像的运行实例.不同的是,镜像是静态的只读文件,而容器带有运行时需要的可写文件层:同时,容器中的应用进程处于运行状态. 新建容器 [root@kvm ~]# ...
- C++指针和引用及区别
1.变量 首先最重要的,variable的定义,当你申明一个变量的时候,计算机会将指定的一块内存空间和变量名进行绑定:这个定义很简单,但其实很抽象,例如:int x = 5; 这是一句最简单的变量赋值 ...
- if a != None:
>>> x = 1 >>> not x False >>> x = [1] >>> not x False >>&g ...
- 左偏树(p4431)
难得不是左偏树,而是思维: 这道题在做得时候,有两个性质 1.如果a是一个不下降序列,那么b[i]==a[i]时取得最优解. 2.如果a是一个严格递减序列,则取a序列的中位数x,令b[1]=b[2]= ...
- js中yyyymmdd hh:mm:ss字符转换为Date
var dateString="20190102 10:30:35"; var pattern = /(\d{4})(\d{2})(\d{2})/; var formatedDat ...
- CSS--box
width is content width height is content height set margin and padding zero leads box to the same wi ...
- Swiper 移动端全屏轮播图效果
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...
- FileOutputStream,BufferedOutputStream,FileWriter 效率比较
测试代码: /** * 写文件 * FileOutputStream, BufferedOutputStream, FileWriter * 三个流 效率比较 */ @Test public void ...
- 小白科普:Netty有什么用?
随着移动互联网的爆发性增长,小明公司的电子商务系统访问量越来越大,由于现有系统是个单体的巨型应用,已经无法满足海量的并发请求,拆分势在必行. 在微服务的大潮之中, 架构师小明把系统拆分成了多个服务,根 ...
- ALSA driver基本概念
https://blog.csdn.net/zyuanyun/article/details/59180272#t6 1.Card For each soundcard, a “card” recor ...