全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 432|回复: 2

解决了

[复制链接]
发表于 2023-11-10 00:32:41 | 显示全部楼层 |阅读模式
本帖最后由 Warren 于 2023-11-10 07:58 编辑

@echo off
setlocal enabledelayedexpansion
set "exe=notepad.exe"
:start
set /a n=0
for /f "tokens=1-2 delims=," %%i in ('tasklist /fo "csv"^|find /i "!exe!"') do (
set /a n+=1&if not !n!==1 taskkill /f /pid %%j)
ping -n 2 127.1>nul&goto start


这个是进程超过1个就自动干掉多余的  我想让他保留 5个 第6个开始自动干掉 要改哪个
发表于 2023-11-10 00:35:37 | 显示全部楼层
  1. [url=home.php?mod=space&uid=20206]@echo[/url] off
  2. setlocal enabledelayedexpansion
  3. set "exe=notepad.exe"
  4. set "maxProcesses=5"

  5. :start
  6. set /a n=0
  7. for /f "tokens=1-2 delims=," %%i in ('tasklist /fo "csv"^|find /i "!exe!"') do (
  8.     set /a n+=1
  9.     if !n! GTR !maxProcesses! (
  10.         taskkill /f /pid %%j
  11.     )
  12. )
  13. ping -n 2 127.1 >nul
  14. goto start
复制代码


在上述代码中,我添加了一个名为 maxProcesses 的变量,该变量的值设置为 5,表示要保留的最大进程数。通过在 for 循环中使用 !maxProcesses! 进行比较,当 n(进程计数器)大于 maxProcesses 时,执行进程关闭操作。

这样,前五个进程将保留并继续运行,而从第六个进程开始,将自动关闭多余的进程。

请注意,这是一个批处理脚本,需要在 Windows 系统的命令提示符或批处理环境中运行。确保将变量 exe 设置为要监视和关闭的进程的名称(例如 notepad.exe),并根据需要修改 maxProcesses 的值。
 楼主| 发表于 2023-11-10 00:39:45 | 显示全部楼层
htazq 发表于 2023-11-10 00:35
在上述代码中,我添加了一个名为 maxProcesses 的变量,该变量的值设置为 5,表示要保留的最大进程数。通 ...

感谢大佬
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2026-5-9 07:58 , Processed in 0.057663 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表