如何用批处理获取指定程序进程的PID

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用批处理获取指定程序进程的PID相关的知识,希望对你有一定的参考价值。

如何用批处理获取指定程序进程的PID然后用冰狐浪子的进程隐藏工具将其隐。
有能解决的我奉上我唯一的20积分。。^_^

参考技术A 下面的命令就是显示进程名称为cmd.exe的pid,不过这里有一个问题就是获得的PID是包括双引号的,这个你要自己再处理一下。
FOR /F "delims=, tokens=1,2 skip=3" %%a IN ('tasklist /fo csv /fi ^"imagename eq cmd.exe^"') do echo %%b
参考技术B 用tasklist就可得到进程的PID,然后用find命令找到指定的行,在for语句中taken包含PID的列,最后传给冰狐浪子。没用过冰狐浪子,不知道具体的命令。 参考技术C 应该用vbs,因为tasklist只在Windows XP及以上的系统中才有

如何用dat批处理文件关闭某端口对应程序-Windows自动化命令

如何用dat批处理文件关闭某端口对应程序?

网上找到的大部分都是手动操作,第一步先查出端口,第二步在根据上一步查到的端口手动去关闭进程。但我的需求不是这样的,我需要全自动处理。用于 dubbo 服务进程在 Windows 环境下的关闭。如果 Linux 环境,则不需那么辛苦了。

找了大半天,终于在百度知道上得到参考案例(或许是我使用的关键词不对),并成功试验,感谢相关贡献者。

答案一:

for /f "tokens=1-5 delims= " %%a in (‘"netstat -ano|findstr "^:指定端口号""‘) do taskkill /pid %%e

 

答案二:

@echo off
set port=1234
for /f "tokens=1-5" %%i in (‘netstat -ano^|findstr ":%port%"‘) do taskkill /pid %%m

 

我自己试验成功的脚本如下:

@echo off
set port=20812
for /f "tokens=1-5" %%i in (‘netstat -ano^|findstr ":%port%"‘) do (
    echo kill the process %%m who use the port %port%
    taskkill /pid %%m
)

参考地址:http://zhidao.baidu.com/link?url=wGa-tP8nkQfi2bla1BRN5ZYjZ1TZzs3sr1QCPS0tS2NHbiUee9byFCNO31imk337DHvOanD05ezYL0NMF0Hopa

以上是关于如何用批处理获取指定程序进程的PID的主要内容,如果未能解决你的问题,请参考以下文章

如何用linux组合指令查找某个进程并杀死

如何用bat文件定期卸载软件?

如何用CMD命令结束一个进程和打开一个程序?

如何用php获取rabbitmq指定队列中的未处理消息数量

如何用批处理运行某个程序时不显示命令提示符窗口

如何用php获取rabbitmq指定队列中的未处理消息数量