BAT脚本获取当前cmd.exe进程PID/PPID/信息(自杀脚本)

为什么要拿到当前cmd.exe的pid这种无聊的事情呢?
我自己在研究这类脚本的时候还真是有目的。那就是我希望脚本把调用者kill掉。
脚本获取父进程的PID,然后执行tskill。于是造就了一个看似没用的自杀脚本。
其实除了自杀,还可以杀父进程,再父进程,一路全杀光,哈哈哈。
当然后续扩展也不尽全是杀进程,还可以查看进程状态/信息等功能(参考wmic,网上有很多)。


方法1)原理:利用tasklist的title来筛选出调用者的pid(即当前cmd.exe)。
@ echo off
title=mycmd
tasklist /v /fo csv | findstr /i "mycmd"


方法2) 原理:利用wmic的筛选出自己的pid,再拿到wmic的父进程(即cmd.exe)的pid。(该脚本强大之处在于可以无限获取父进程的父进程," REM get cmd ppid"之后就是)
@ echo off
REM get cmd pid
set TempFile=%TEMP%\sthUnique.tmp
wmic process where (Name="wmic.exe" AND CommandLine LIKE "%%%TIME%%%") get ParentProcessId /value | find "ParentProcessId" >%TempFile%
set /P _string=<%TempFile%
set _pid=%_string:~16%
echo %_pid%

REM get cmd ppid
wmic process where (processid=%_pid%) get ParentProcessId /value | find "ParentProcessId" >%TempFile%
set /P _string=<%TempFile%
set _pid=%_string:~16%
echo %_pid%
...
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值