一条指令解决Linux和Windows下杀死指定端口进程的方法(附Shell和Batch脚本)

您所在的位置:网站首页 java指定端口停止 一条指令解决Linux和Windows下杀死指定端口进程的方法(附Shell和Batch脚本)

一条指令解决Linux和Windows下杀死指定端口进程的方法(附Shell和Batch脚本)

2024-07-08 21:42| 来源: 网络整理| 查看: 265

前言

在日常开发和系统管理中,经常会遇到需要终止特定端口上的进程的情况。本文将介绍如何在 Linux 和 Windows 系统下,使用一条指令来杀死指定端口的进程,同时还将提供相应的 Shell 脚本和 Batch 脚本示例,以实现更便捷的操作。

Linux下的解决方法:

在 Linux 系统中,你可以使用 kill 命令来终止指定端口上的进程。以下是一条结合 lsof 命令的命令示例,它会查找指定端口(比如 8080)的进程并杀死它:(注:以下全程root操作,非root操作请自行添加sudo)

kill -9 `lsof -ti:8080`

这条命令中,lsof -ti:8080 会找到端口 8080 监听的进程 ID,然后将其传递给 kill -9 命令来终止进程。这种方法简洁高效,一条命令搞定。

Shell脚本:

如果你想将这个操作封装成一个 Shell 脚本以便反复使用,可以创建一个名为 kill-port.sh 的文件,内容如下:

#!/bin/bash if [ $# -ne 1 ]; then echo "Usage: $0 " exit 1 fi port=$1 kill -9 $(lsof -ti :$port)

通过执行 chmod +x kill-port.sh 命令,赋予脚本执行权限,然后可以使用 ./kill-port.sh 8080 这样的命令来杀死指定端口的进程。

演示操作如下:

在这里插入图片描述 上述通过指令lsof -i :8080查看8080端口占用情况,这里LZ使用脚本的时候特意多输入一个param2参数。脚本中的if校验就提示你怎么用该脚本了。杀死进程后再次使用指令lsof -i :8080检查8080端口是否被kill

Windows下的解决方法:

在 Windows 系统中,打开cmd(最好是以管理员身份运行),可以使用 netstat 命令来查找端口对应的进程 ID,然后使用 taskkill 命令终止进程。以下是一条结合这两个命令的命令示例,用于杀死端口 8080 上的进程:

for /f "tokens=5" %%a in ('netstat -ano ^| findstr :8080') do taskkill /F /PID %%a Batch脚本:

鼠标双击脚本执行,用户输入指定进程端口,回车等待完成三秒后自动关闭cmd窗口。比如杀死9060端口,步骤:(1、创建txt文件 —>2、复制以下脚本内容—>3、文件后缀改为.bat—> 鼠标双击脚本执行即可)。脚本内容如下:

@echo off chcp 65001 set/p port=kill-port: echo port : %port% set pid= set executableFile= for /f "usebackq tokens=1-5" %%a in (`netstat -ano ^| findstr %port%`) do ( if [%%d] EQU [LISTENING] ( set pid=%%e ) ) if "%pid%"=="" ( echo 未找到监听端口为 %port% 的进程,无需终止。 ) else ( for /f "usebackq tokens=1-5" %%a in (`tasklist ^| findstr %pid%`) do ( set executableFile=%%a ) echo 现在将终止进程:pid %pid%,可执行文件:%executableFile% taskkill /f /pid %pid% ) timeout /t 3 /nobreak > nul

在当前脚本中chcp 65001设置UTF-8格式保证中文不乱码,timeout命令,使提示信息能够被看到。

演示操作如下:

成功终止操作显示如下: 在这里插入图片描述

无需终止操作显示如下: 在这里插入图片描述

总结:

通过本文介绍的方法和示例,你可以轻松地在 Windows 和 Linux 系统下终止指定端口的进程,提高了操作的效率和便捷性。无论是直接在命令行中执行一条命令,还是使用脚本封装操作,都能够更加高效地管理进程,确保系统正常运行。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3