如何从批处理文件中获取进程PID

如何从批处理文件中获取进程PID,第1张

下面的命令就是显示进程名称为cmdexe的pid,不过这里有一个问题就是获得的pid是包括双引号的,这个你要自己再处理一下。

for

/f

"delims=,

tokens=1,2

skip=3"

%%a

in

('tasklist

/fo

csv

/fi

^"imagename

eq

cmdexe^"')

do

echo

%%b

如果我给NeMaC的参数不同,用上述指令会列出所有NeMaC命令执行的信息但是我只想获取其中ture command为还是得到了两个PID值,因为我同时使用了两个NeMaC命令(在不同命令窗口输入)一条是NeMaC -c 30 -m 25000 -r rulessample 20210101 private rule1一条是NeMaC -c 120 -m 25000 -r cs2rules 20210101 private rule2谢谢,另外,NeMaC是NeTraMet这个分析流的工具的一个组件。学习中分成两个脚本执行请教中,如何用两脚本,要是对应NeMaC有N个进程呢?那又该如何是好换一个思路吧,我如何能得到一个进程的唯一子进程的pid?:用ps -C NeMaC -f | grep rule1 | awk '{print $2}'我已经能拿到想要kill的进程的pid了,其值例如为:12815但是当我执行如下shell文件时确出错了#!/bin/bash#PATH="$PATH":/home/gwei/myCode#myNeMaC=`ps -C NeMaC -f | grep myNeMaC1 | awk '{print $2}'`kill -9 $myNeMaC它显示出来的错误信息是: arguments must be process or job IDskill: 12815kill -9 $myNeMaC也可以杀掉进程,但是把上面这些写入一个sh文件再执行就出错了怎麼办呢?移植到RH9後提示的错误信息是:[root@gxnunc0504 myCode]# /bin/bash /killNeMaC1sh: no such pidsh: line 6: kill: 21820kill -9 $myNeMaC上面就是我杀掉进程的教本killNeMaC1,其中echo $myNeMaC确认只剩下一个PID了,可是为什麼到了kill -9 $myNeMaC就运行不下去了呢。相关 *** 作和结果如下:

要用到2个API函数

1Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long) As Long 从窗口句并获取进程PID

2Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long 查找窗口句柄

pw = FindWindow(vbNullString, "连连看 v41")‘'查找连连看把找到的结果存在PW是保存窗口句柄GetWindowThreadProcessId pw, pid '从窗口句柄获取进程ID,PID是保存进程ID

查看方法:

打开设备管理器,右键USB设备--属性--详细信息--设备范例id。

根据USB规范的规定,所有的USB设备都有供应商ID(VID)和产品识别码(PID),主机通过不同的VID和PID来区别不同的设备,VID和PID都是两个字节长,其中,供应商ID(VID)由供应商向USB执行论坛申请,每个供应商的VID是唯一的,PID由供应商自行决定,理论上来说,不同的产品、相同产品的不同型号、相同型号的不同设计的产品最好采用不同的PID,以便区别相同厂家的不同设备。

VID和PID通常情况下有两种存储方式,

第一种是主控生产商的VID和PID,存储在主控的bootcode中;

第二种是设备生产商的VID和PID,该VID和PID存储在主控外部的非易失性存储设备中(EEPROM或Flash)的设备固件中,当USB设备连接主机时,如果固件中有设备生产商的VID和PID,会将该VID和PID报告给主机,而忽略主控生产商的VID和PID。

所以理论上一个USB存储设备的VID应该是设备生产商的VID,而不是主控生产商的VID,这两个VID应该是不同的(主控生产商自己生产的设备除外)。

由于VID和PID重复并不会对产品的使用带来严重影响,很多USB设备生产商(山寨厂居多)为了方便,并不会向USB执行论坛申请自己的VID,而是依然沿用主控生产商的VID或随便向产品写入VID和PID;

同时,正规厂家只需要申请VID,PID由厂家自行确定,所以存在相同型号的产品,可能采用了不同的主控(商业需要,很正常),而的PID是一样的,基于上述原因通过VID和PID就不能准确识别USB设备的主控型号,这个问题大家在使用USB设备的过程中需要注意。

以上就是关于如何从批处理文件中获取进程PID全部的内容,包括:如何从批处理文件中获取进程PID、如何获取一条命令执行中的PID值、vb 如何获取进程PID等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9506059.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存