当前位置: 首页 > article >正文

自制一键杀死端口进程程序# tomcat 如何杀死tomcat进程

直接cmd 窗口执行如下命令即可

netstat -ano | findstr :8080
taskkill /F /PID <PID>

简简单单的两个指令,总是记不住,也懒的记, 每次端口冲突的时候, 都是直接查百度,很苦逼, 如果有一个程序,直接输入端口号,点击按钮直接杀死进程,岂不爽歪歪.

跟我一起制作一个屠猫的程序吧!

环境: 默认你已经安装了jdk

第一步: 在某个盘符里,新建一个文件夹, 并将以下文件KillTomcatProcess.java放到文件夹中
KillTomcatProcess.java

import javax.swing.*;  
import java.awt.*;  
import java.awt.event.ActionEvent;  
import java.awt.event.ActionListener;  
import java.io.BufferedReader;  
import java.io.InputStreamReader;  
  
public class KillTomcatProcess extends JFrame {  
  
    private JTextField portField;  
    private JButton killButton;  
  
    public KillTomcatProcess() {  
        setTitle("Tomcat Port Killer");  
        setSize(300, 150);  
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
        setLocationRelativeTo(null); // Center the window  
  
        setLayout(new FlowLayout());  
  
        JLabel label = new JLabel("Enter Tomcat Port:");  
        add(label);  
  
        portField = new JTextField(10);  
        add(portField);  
  
        killButton = new JButton("Kill Process");  
        killButton.addActionListener(new ActionListener() {  
            @Override  
            public void actionPerformed(ActionEvent e) {  
                String port = portField.getText().trim();  
                if (!port.isEmpty()) {  
                    try {  
                        String pid = findProcessIdByPort(port);  
                        if (pid != null) {  
                            killProcess(pid);  
                            JOptionPane.showMessageDialog(KillTomcatProcess.this, "Process with PID " + pid + " killed successfully!");  
                        } else {  
                            JOptionPane.showMessageDialog(KillTomcatProcess.this, "No process found for port " + port);  
                        }  
                    } catch (Exception ex) {  
                        JOptionPane.showMessageDialog(KillTomcatProcess.this, "Error: " + ex.getMessage());  
                    }  
                } else {  
                    JOptionPane.showMessageDialog(KillTomcatProcess.this, "Please enter a port number.");  
                }  
            }  
        });  
        add(killButton);  
  
        setVisible(true);  
    }  
  
    private String findProcessIdByPort(String port) throws Exception {  
        String line;  
        Process process = Runtime.getRuntime().exec("cmd /c netstat -aon | findstr " + port);  
        BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));  
  
        while ((line = reader.readLine()) != null) {  
            if (line.contains("LISTENING")) {  
                String[] parts = line.split("\\s+");  
                return parts[parts.length - 1];
            }  
        }  
        return null;  
    }  
  
    private void killProcess(String pid) throws Exception {  
        Runtime.getRuntime().exec("cmd /c taskkill /F /PID " + pid);  
    }  
  
    public static void main(String[] args) {  
        new KillTomcatProcess();  
    }  
}

在这里插入图片描述

第二步:当前文件夹下打开cmd,将java文件编译成可执行文件javac KillTomcatProcess.java

在这里插入图片描述在这里插入图片描述

尝试执行编译后的文件java KillTomcatProcess 窗口能够正常弹出即可,

在这里插入图片描述
现在输入端口能够立刻将进程杀死,但是操作起来一点也不方便

第三步: 在当前文件夹下,创建一个KillTomcat.bat文件,文件内容如下

KillTomcat.bat

@echo off  
java KillTomcatProcess  
pause

鼠标右键,将该文件发送到桌面快捷方式,这样我们桌面上只有屠猫的图标,非常简洁
在这里插入图片描述

最终运行效果

在这里插入图片描述


http://www.kler.cn/news/307421.html

相关文章:

  • 【C++题目】1.日期差值
  • MySQL篇(运算符)(持续更新迭代)
  • bat批量修改文件名
  • c++ templates常用函数
  • 完美的宝塔面板防御策略,基于 fail2ban
  • 探索人工智能的未来趋势
  • Docker基本概念详解及优势分析
  • Linux 文件 IO 管理(第一讲)
  • 探索GPU算力在大模型和高性能计算中的无限潜能
  • 排序算法-交换排序
  • MyBatis 增删改查【后端 17】
  • Oracle数据库中的Oracle Label Security是什么
  • 默认端口被占用后,如何修改Apache2 端口
  • ThinkPHP Email功能如何配置才能发送邮件?
  • 获取Live2d模型
  • 人工智能开发实战matplotlib库应用基础
  • 集成测试例题
  • NISP 一级 | 5.5 账户口令安全
  • Qt 实战(10)模型视图 | 10.4、模型角色
  • 第十一章 【后端】商品分类管理微服务(11.2)——Lombok
  • 『功能项目』切换职业技能面板【49】
  • 【系统架构设计】基于中间件的开发
  • “Fast-forward“ in git-pull result
  • AI助力遥感影像智能分析计算,基于高精度YOLOv5全系列参数【n/s/m/l/x】模型开发构建卫星遥感拍摄场景下地面建筑物智能化分割检测识别系统
  • go语言的基本语法
  • 【Kubernetes】常见面试题汇总(十九)
  • 消失的数字:
  • Android 应用安装-提交阶段
  • HC-SR04超声波传感器详解(STM32)
  • 【Mysql】记录sql在执行过程中很慢