[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

PPIDs_1.2 列举父进程、子进程名称或PID

本帖最后由 CrLf 于 2013-3-18 17:52 编辑
  1. PPIDs 用于列举进程的父PID和子PID
  2. PPIDs v 1.2  [2013/03/18]  http://bbs.bathome.net
  3. 用法: PPIDs.exe [/NUM] [/p|/c] [/r] [/i] [/e] [/n] [PName|[PID] [PID] ...]
  4. 模式: /NUM  向上追溯曾曾曾...曾祖父辈进程的PID
  5.       /p    获取直系父进程PID (默认)
  6.             返回:  父进程PID   爷爷进程PID   曾爷爷PID ...
  7.       /c    获取某进程的所有子进程PID
  8.             返回:  子进程PID1   子进程PID2   子进程PID3 ...
  9.       /r    颠倒行中的顺序
  10.       /i    不显示错误提示与已结束的进程
  11.       /e    在输出中前缀当前项的 PID 与进程名
  12.             启用后,多个进程名和 PID 允许共存
  13.       /n    获取进程名(默认是获取 PID)
  14.             返回:  进程名1  进程名2  进程名3 ...
  15.       PName 最多允许指定一个用于查找的进程名,多个匹配的进程将分行输出
  16.             启用 /e 后可使用通配匹配或用 /表达式/ 的格式进行正则匹配
  17.       PID   为 /p 或 /c 模式指定 PID,可以同时指定多个 PID
  18.             关键字 me 等同于调用 PPIDs 的进程的 PID.
  19.       /d    调试模式
  20.       /?    显示帮助信息
  21.             /help 等同于 /?
复制代码
开关有点多,但其实核心功能只有获取父PID和子PID两种...
附件含有:vb6源代码、PPIDs.exe、PPIDs使用范例.bat
别看是小工具,先实现功能再化简,以及调试修正bug ,也花了好几天的…

------------------------------------------------------------------------------------------------------------
2013/03/15  1.0 发布
2013/03/16  1.1 更新内容:
      1、修正几个疏漏
      2、开启 /e 开关后,PName 项能够使用正则匹配进程名(格式为 /表达式/),也不再与其他 PName 和 PID 参数冲突
      3、加入 /d 模式用于调试,将输出解析所得的参数列表,并在出现错误时不退出进程(可能产生意外的后果)
      4、在 /p 模式下排除要获取父进程的“参照物”本身,以免与 /e 开关重复
2013/03/18  1.2 更新内容:
      1、删除几个多余的判断
      2、开启 /e 开关后,PName 项在支持正则匹配的基础上,又对常见的通配格式进行了支持
      3、将 /d 模式产生的额外输出定向到控制台的错误输出中,即 cmd 中的句柄 2
      4、排除重复的 PID
------------------------------------------------------------------------------------------------------------
特别感谢 Demon 和 defanive 提供技术支持,没有他们的帮助我就放弃了
还要感谢 Broly、tmplinshi、fastslz、plp626 的测试反馈,完善细节


欢迎测试bug,也欢迎继续编写完善这个工具,但要求:
1、不是质变不应轻易把版本号升到2.0
2、继续开源
附件: 您需要登录才可以下载或查看附件。没有帐号?注册

返回列表