zoukankan      html  css  js  c++  java
  • 进程句柄和进程ID的区别和关系

    进程和进程句柄和进程id含义

    进程是一个正在运行的程序,进程里可以包括多个模块(DLL,OCX,等)
    进程句柄是程序访问时用到的东西,当前进程句柄等于主模块的句柄,当你使用OpenProcess时的进程句柄是不等于那个句柄的,使用完了还要关闭那个句柄
    进程ID是在系统中的标识,一个进程可以有多个句柄但是ID就只有一个,可以通过ID打开多个句柄


    进程是内核对象,其ID是一个32位的无符号整数,用于在整个系统中唯一地标志该对象;你在任何进程中都可使用该ID号访问进程对象;
    进程的句柄则是基于特定进程的,对于同一个进程对象,在不同的进程中可能有不同的句柄值。因为句柄实际上是进程空间中的句柄表的偏移,由于在不同的进程空间中句柄表是不同的,针对相同的对象在句柄表的偏移也就不同

    句柄实际是一个指针,他指向一块包含具体信息数据的内存,可以当做索引 ,所以进程句柄是当你要访问该进程时取得的,使用完毕必须释放。
    id一般是一个标识符,用来区别不同项

    一个进程在不同的调用时间中有可能句柄的值是不一样的,但是ID只有也只能有一个

    在Windows有一张指针表(就是指针数组),这些指针指向Windows内的各种对象(Windows概念的对象),其中就包含进行对象。
    句柄就就是指针数组的编号。

    进程ID,一个进程被创建后这个进程ID就是不变的。
    进程句柄,每次打开这个进程(OpenProcess),返回给你的句柄是变化的

    参考:http://blog.csdn.net/chdhust/article/details/11856327

  • 相关阅读:
    五分钟免费搭建一个自己的网站
    网站大全-工具类,学习类网站
    vscode常用插件
    vscode常用快捷键
    IIS 如何设置多个Access-Control-Allow-Origin
    ajax跨域,这应该是最全的解决方案了
    Failed to execute ‘createObjectURL’ on ‘URL’: No function was found that matched the signature provided.
    Github新项目Dress(好耶是女装)
    Eclipse常用快捷键
    Javase、Javaee、Javame的区别
  • 原文地址:https://www.cnblogs.com/vincentqliu/p/6858036.html
Copyright © 2011-2022 走看看