BlueGene Asked: 2009-06-18 05:46:14 +0800 CST2009-06-18 05:46:14 +0800 CST 2009-06-18 05:46:14 +0800 CST 什么是进程句柄? 772 什么是进程句柄,我们可以通过任务浏览器中的“句柄计数”属性了解正在运行的进程吗? windows operating-system process task-manager process-explorer 2 个回答 Voted Best Answer crb 2009-06-18T06:06:45+08:002009-06-18T06:06:45+08:00 进程句柄是一个整数值,用于向 Windows 标识进程。Win32 API 将它们称为 HANDLE;窗口句柄称为 HWND,模块句柄称为 HMODULE。 进程内的线程具有线程句柄,文件和其他资源(例如注册表项)也具有句柄。 您在任务管理器中看到的句柄计数是“进程对象表中的对象句柄数”。实际上,这是该进程已打开的所有句柄的总和。 如果你不释放你的资源句柄,其他人可能无法访问它——这就是为什么你有时不能删除文件,因为 Windows 声称它正在使用中(查看这篇关于句柄泄漏和进程资源管理器的文章)。 此外,各种句柄都有每个进程的限制。 这是一个例子。 通常,如果您打开句柄而不关闭它们,则类似于内存泄漏。你应该弄清楚发生了什么并修复它。关于句柄泄漏有一篇很好的CodeProject 文章。 Premraj 2015-08-06T06:34:29+08:002015-08-06T06:34:29+08:00 句柄是一个整数值,用于寻址对象。例如: int handle = open( "foo.txt", OTHER_STUFF_HERE ); open()is System Call 返回一个句柄,一个小的非负整数,用于后续系统调用(read(2)、write(2)、lseek(2)、fcntl(2) 等)。 Windows 句柄与 Unix 文件描述符 (FD) 非常相似。
进程句柄是一个整数值,用于向 Windows 标识进程。Win32 API 将它们称为 HANDLE;窗口句柄称为 HWND,模块句柄称为 HMODULE。
进程内的线程具有线程句柄,文件和其他资源(例如注册表项)也具有句柄。
您在任务管理器中看到的句柄计数是“进程对象表中的对象句柄数”。实际上,这是该进程已打开的所有句柄的总和。
如果你不释放你的资源句柄,其他人可能无法访问它——这就是为什么你有时不能删除文件,因为 Windows 声称它正在使用中(查看这篇关于句柄泄漏和进程资源管理器的文章)。
此外,各种句柄都有每个进程的限制。 这是一个例子。
通常,如果您打开句柄而不关闭它们,则类似于内存泄漏。你应该弄清楚发生了什么并修复它。关于句柄泄漏有一篇很好的CodeProject 文章。
句柄是一个整数值,用于寻址对象。例如:
open()
is System Call 返回一个句柄,一个小的非负整数,用于后续系统调用(read(2)、write(2)、lseek(2)、fcntl(2) 等)。Windows 句柄与 Unix 文件描述符 (FD) 非常相似。