可以通过指令查询当前进程打开了多少句柄,Linux下有exec函数族可以执行指令,把指令写进去就行了。
-查看当前进程打开了多少句柄数
# lsof -n|awk '{print $2}'|sort|uniq -c|sort -nr|more
-根据ID号来查看进程名。
# ps aef|grep ID号
。
很通俗的跟你解释一下
系统里有很多东西,这些东西都有一个身份z
身份z就是“句柄”(也不知道谁给取的这个奇怪的名字)
不是说一个程序 只有一个句柄
句柄绝对比你想象的要多的多 也就是说 分的很细
最简单的例子,打开系统自带的计算器
上面每一个按钮 那些什么1234 加减乘除 每个按钮都有自己的身份z
这样一来 你就可以很有针对性的对系统中的某一个“东西” 来进行 *** 作了。
应该能理解句柄是怎么回事了吧?
获取句柄 最基本的 两条思路,一就是那个你很感兴趣的“东西”,它自己就有一个属性(一般属性名都是 Hwnd),里面就存放着他自己的句柄,比如你输入 Msgbox MeHwnd 运行一下 就可以获得当前窗体的句柄
二就是 你通过一些专门设计出来,用来获得XX东西句柄的API函数
那个你查阅下API的相关书籍 就可以了,
VB里面 最简单的句柄么 就是窗体本身自己的句柄咯
最简单的代码 上面已经说了 就是这么一句话 Msgbox MeHwnd 你可以去试试
用NtQueryInformationProcess可以查询单个进程的句柄数 但是要打开进程 用NtQuerySystemInformation可以获取所有进程的统计信息,而且没有任何权限要求 这个用一个api就可以解决,你用pdh涉及到的更多
给你一个思路吧:如果是顶级窗口类名和标题都知道的话
用api的寻找顶级窗口
找到顶级窗口句柄
之后在用
api的寻找子窗口
寻找子窗口下的标题和类名
就可以取到子窗口的句柄
之后向该句柄发送信息就行!
以上就是关于linux如何获取某个进程的句柄数全部的内容,包括:linux如何获取某个进程的句柄数、VB怎么获取进程句柄、linux获取进程句柄数怎么获取等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)