portSpirit.zip


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(‘
‘)

        # 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(‘
‘)
            print(datalist)
      

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-05-10 00:38  portSpirit
     目录           0  2019-05-10 01:10  portSpirit.git
     文件          13  2019-05-10 00:38  portSpirit.gitCOMMIT_EDITMSG
     文件          23  2019-05-09 20:30  portSpirit.gitHEAD
     文件         307  2019-05-09 20:32  portSpirit.gitconfig
     文件          73  2019-05-09 20:30  portSpirit.gitdescription
     目录           0  2019-05-09 20:30  portSpirit.githooks
     文件         478  2019-05-09 20:30  portSpirit.githooksapplypatch-msg.sample
     文件         896  2019-05-09 20:30  portSpirit.githookscommit-msg.sample
     文件        3327  2019-05-09 20:30  portSpirit.githooksfsmonitor-watchman.sample
     文件         189  2019-05-09 20:30  portSpirit.githookspost-update.sample
     文件         424  2019-05-09 20:30  portSpirit.githookspre-applypatch.sample
     文件        1638  2019-05-09 20:30  portSpirit.githookspre-commit.sample
     文件        1348  2019-05-09 20:30  portSpirit.githookspre-push.sample
     文件        4898  2019-05-09 20:30  portSpirit.githookspre-rebase.sample
     文件         544  2019-05-09 20:30  portSpirit.githookspre-receive.sample
     文件        1492  2019-05-09 20:30  portSpirit.githooksprepare-commit-msg.sample
     文件        3610  2019-05-09 20:30  portSpirit.githooksupdate.sample
     文件         406  2019-05-10 01:08  portSpirit.gitindex
     目录           0  2019-05-09 20:30  portSpirit.gitinfo
     文件         240  2019-05-09 20:30  portSpirit.gitinfoexclude
     目录           0  2019-05-09 20:31  portSpirit.gitlogs
     文件         945  2019-05-10 00:38  portSpirit.gitlogsHEAD
     目录           0  2019-05-09 20:32  portSpirit.gitlogs
efs
     目录           0  2019-05-09 20:31  portSpirit.gitlogs
efsheads
     文件         945  2019-05-10 00:38  portSpirit.gitlogs
efsheadsmaster
     目录           0  2019-05-09 20:32  portSpirit.gitlogs
efs
emotes
     目录           0  2019-05-09 20:32  portSpirit.gitlogs
efs
emotesorigin
     文件         700  2019-05-10 00:39  portSpirit.gitlogs
efs
emotesoriginmaster
     目录           0  2019-05-10 00:39  portSpirit.gitobjects
     目录           0  2019-05-10 00:37  portSpirit.gitobjectsc
............此处省略1060个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)