资源简介

windows查杀端口小工具,可以根据端口进行查杀,程序猿日常必备神器,再也不用担心端口被占用,还可以同名称的进程一并关闭

资源截图

代码片段和文件信息

“““通过端口号查杀对应程序
   author: yufei
   date: 2019-05-09
“““
from tkinter import *
import tkinter.messagebox as messagebox
from tkinter import ttk
import os
import re


class Application(frame):
    def __init__(self master=None):
        frame.__init__(self master)
        self.pack()
        self.createWidgets()
        # 设置窗口标题:
        self.master.title(‘端口查杀程序‘)
        width = 700
        height = 450
        screenwidth = self.master.winfo_screenwidth()
        screenheight = self.master.winfo_screenheight()
        size = ‘%dx%d+%d+%d‘ % (width height (screenwidth - width) / 2 (screenheight - height) / 2)
        self.master.geometry(size)

    # 创建组件
    def createWidgets(self):
        fr1 = frame(self pady=6)
        fr2 = frame(self pady=6)
        fr1.pack(side=‘top‘)
        fr2.pack(side=‘bottom‘ expand=YES fill=BOTH)
        self.label = Label(fr1 text=‘端口号:‘)
        self.label.pack(side=LEFT padx=3)
        self.port_input = Entry(fr1)
        self.port_input.pack(side=LEFT padx=6)
        self.alert_button = Button(fr1 text=‘查询‘ width=6 command=self.search)
        self.alert_button.pack(side=LEFT padx=6)
        self.kill_button = Button(fr1 text=‘关闭程序‘ width=10 command=self.kill)
        self.kill_button.pack(side=LEFT padx=6)
        self.search_and_kill_utton = Button(fr1 text=‘查杀程序‘ width=10 command=self.search_kill)
        self.search_and_kill_utton.pack(side=LEFT padx=6)
        self.with_name = BooleanVar()
        self.with_name_check = Checkbutton(fr1 text=‘同名称一并关闭‘ variable=self.with_name)
        self.with_name_check.pack(side=LEFT padx=6)
        columns = (“id“ “name“ “pid“)
        self.table = ttk.Treeview(fr2 show=“headings“ height=17 columns=columns)
        self.table.column(“id“ width=60 anchor=‘center‘)  # 表示列不显示
        self.table.column(“name“ width=350 anchor=‘center‘)  # 表示列不显示
        self.table.column(“pid“ width=200 anchor=‘center‘)
        self.table.heading(“id“ text=“序号“)  # 显示表头
        self.table.heading(“name“ text=“程序名称“)  # 显示表头
        self.table.heading(“pid“ text=“进程号“)
        self.table.pack(side=LEFT expand=YES fill=BOTH)

    ## 查找端口的pid
    def find_pro(self):
        find_port = ‘netstat -aon | findstr %s‘ % self.port_input.get()
        result = os.popen(find_port)
        text = result.read()
        datalist = text.strip().split(‘\n‘)

        # print(datalist)
        datalist = list(filter(self.is_real datalist))
        datalist = map(self.getPid datalist)
        datalist = self.getDetail(set(datalist))
        print(datalist)
        return datalist

    # 查询进程明细
    def getDetail(self datalist):
        l = []
        count = 0
        for i in datalist:
            find_pro = ‘tasklist|findstr %s‘ % i
            result = os.popen(find_pro)
            text = result.read()
            datalist = text.strip().split(‘\n‘)
            print(datalist)
      

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-05-10 00:38  portSpirit\
     目录           0  2019-05-10 01:10  portSpirit\.git\
     文件          13  2019-05-10 00:38  portSpirit\.git\COMMIT_EDITMSG
     文件          23  2019-05-09 20:30  portSpirit\.git\HEAD
     文件         307  2019-05-09 20:32  portSpirit\.git\config
     文件          73  2019-05-09 20:30  portSpirit\.git\description
     目录           0  2019-05-09 20:30  portSpirit\.git\hooks\
     文件         478  2019-05-09 20:30  portSpirit\.git\hooks\applypatch-msg.sample
     文件         896  2019-05-09 20:30  portSpirit\.git\hooks\commit-msg.sample
     文件        3327  2019-05-09 20:30  portSpirit\.git\hooks\fsmonitor-watchman.sample
     文件         189  2019-05-09 20:30  portSpirit\.git\hooks\post-update.sample
     文件         424  2019-05-09 20:30  portSpirit\.git\hooks\pre-applypatch.sample
     文件        1638  2019-05-09 20:30  portSpirit\.git\hooks\pre-commit.sample
     文件        1348  2019-05-09 20:30  portSpirit\.git\hooks\pre-push.sample
     文件        4898  2019-05-09 20:30  portSpirit\.git\hooks\pre-rebase.sample
     文件         544  2019-05-09 20:30  portSpirit\.git\hooks\pre-receive.sample
     文件        1492  2019-05-09 20:30  portSpirit\.git\hooks\prepare-commit-msg.sample
     文件        3610  2019-05-09 20:30  portSpirit\.git\hooks\update.sample
     文件         406  2019-05-10 01:08  portSpirit\.git\index
     目录           0  2019-05-09 20:30  portSpirit\.git\info\
     文件         240  2019-05-09 20:30  portSpirit\.git\info\exclude
     目录           0  2019-05-09 20:31  portSpirit\.git\logs\
     文件         945  2019-05-10 00:38  portSpirit\.git\logs\HEAD
     目录           0  2019-05-09 20:32  portSpirit\.git\logs\refs\
     目录           0  2019-05-09 20:31  portSpirit\.git\logs\refs\heads\
     文件         945  2019-05-10 00:38  portSpirit\.git\logs\refs\heads\master
     目录           0  2019-05-09 20:32  portSpirit\.git\logs\refs\remotes\
     目录           0  2019-05-09 20:32  portSpirit\.git\logs\refs\remotes\origin\
     文件         700  2019-05-10 00:39  portSpirit\.git\logs\refs\remotes\origin\master
     目录           0  2019-05-10 00:39  portSpirit\.git\objects\
     目录           0  2019-05-10 00:37  portSpirit\.git\objects\0c\
............此处省略1060个文件信息

评论

共有 条评论