linux如何获取某个进程的句柄数

linux如何获取某个进程的句柄数,第1张

可以通过指令查询当前进程打开了多少句柄,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获取进程句柄数怎么获取等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存