飞道的博客

小记:windows,Linux杀死端口进程命令

365人阅读  评论(0)

缘起:

最近偶然遇到一个问题,redis,nacos在运行的过程中闪退了,闪退之后再进行启动,会出现端口被占用的提示!

解决办法:

Linux中:

  • 通过 ps -ef|grep + 应用名 查看应用的端口,
  • 通过 kill -9 +端口号 强制干掉该进程,
  • 最后重新启动应用

Windows中
两步方法 : 1 查询端口占用,2 强行杀死进程

  • 通过 **netstat -aon|findstr ** +端口号 查看被占用的端口对应进程号
  • 通过 taskkill /pid +进程号+ -t -f

更好的解决办法:

回归到最初的问题,那么在windows下,如果我的nacos或者redis进行了闪退,那么我们需要先将他们进行关闭,然后再重新启动。有没有便捷一点的方法吗?一劳永逸的那种,答案是有的!!!整个脚本。

1.新建个text文件
2.填写对应端口号及需要重启路径(如下图所示)
3.将txt后缀修改成bat

@echo off & setlocal EnableDelayedExpansion

set obj[0]=6379
set obj[1]=8848

set port=0
set pid=0

for /f "usebackq delims== tokens=1-2" %%a in (`set obj`) do (
    set port=%%b
    for /f "tokens=5" %%m in ('netstat -aon ^| findstr ":%%b"') do (
        set pid=%%m
    )
    if "!pid!"=="0" (
        echo 端口号【!port!】没有占用
    ) else (
        echo 端口号【!port!】相关进程以杀死
        taskkill /f /pid !pid!
    )
    set pid=0
)

pause


D:
cd \BaiduNetdiskDownload\nacos\nacos-server-1.4.1\nacos\bin
start startup.cmd

D:
cd \BaiduNetdiskDownload\redis
start redis-server.exe

测试一下!双击bat文件

随便按一个,好的舒服!


转载:https://blog.csdn.net/weixin_41935702/article/details/117252664
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场