python关闭8080端口下全部进程

os.popen()

1.os.popen() 方法用于从一个命令打开一个管道

2.popen()方法语法格式如下:

os.popen(command[, mode[, bufsize]])

3.参数
command -- 使用的命令。

mode -- 模式权限可以是 'r'(默认) 或 'w'。

bufsize -- 指明了文件需要的缓冲大小:0意味着无缓冲;1意味着行缓冲;其它正值表示使用参数大小的缓冲(大概值,以字节为单位)。负的bufsize意味着使用系统的默认值,一般来说,对于tty设备,它是行缓冲;对于其它文件,它是全缓冲。如果没有改参数,使用系统的默认值。

os.read()

1.os.read() 方法用于从文件描述符 fd 中读取最多 n 个字节,返回包含读取字节的字符串,文件描述符 fd对应文件已达到结尾, 返回一个空字符串。

2.read()方法语法格式如下:

os.read(fd,n)

3.参数
fd -- 文件描述符。

n -- 读取的字节。

代码

#coding=utf-8
import os
import re

#获取到8080端口的信息
#TCP    0.0.0.0:8080           0.0.0.0:0              LISTENING       21808

ss=os.popen('netstat -aon|findstr "8080" ').read()
#print(ss)


if ss:
    #利用正则表达式,获取PID,既上一段信息的最后一段数字
    #注意answer为list

    key = re.compile(r'TCP.*?LISTENING.*?(\d+)',re.S)
    anwser = re.findall(key,ss)

    #杀掉PID为i的进程
    for i in anwser:
        os.system('taskkill /f /pid %s' % i)

else:
    print('未发现进程,无需关闭')

效果

1.先开启个进程



2.运行下代码
清除了进程


你可能感兴趣的:(python关闭8080端口下全部进程)