一条指令解决Linux和Windows下杀死指定端口进程的方法(附Shell和Batch脚本) |
您所在的位置:网站首页 › java指定端口停止 › 一条指令解决Linux和Windows下杀死指定端口进程的方法(附Shell和Batch脚本) |
前言
在日常开发和系统管理中,经常会遇到需要终止特定端口上的进程的情况。本文将介绍如何在 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 这样的命令来杀死指定端口的进程。 演示操作如下:
在 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 |