欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

windows系统一键关停系统的脚本

程序员文章站 2022-07-15 15:36:31
...

背景

在windows系统使用的程序如果分组件的话,肯定需要一键启动,一键杀死,本文内容就来聊聊一键杀死系统的组件,从而实现关停系统。

参考资料

https://jingyan.baidu.com/article/fdffd1f89a0c8af3e98ca10e.html 百度经验
https://www.cnblogs.com/xiaostudy/p/11674053.html 根据端口杀死进程的脚本

解决方案

思路是首先根据监听的端口,查到进程号,然后杀死,最后重复这个过程直到关停所有系统中用到的app程序。

用到的指令

查找端口号对应的进程,如下:

netstat -ano |findstr "端口号"

将进程号杀死,指令如下:

taskkill /f /t /im "进程id或者进程名称"

根据进程号,查看进程的信息,指令如下:

tasklist |findstr "进程id号"

脚本

这个解决方案的核心就是一键杀死脚本,配置好端口号,就可以使用一键杀死的功能了。

@echo off & setlocal EnableDelayedExpansion

set obj[0]=22970
set obj[1]=22971
set obj[2]=22972
set obj[3]=22973
set obj[4]=22974

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