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

  • 相关阅读:
    rc-local.service服务启动失败,导致rc.local中的开机启动服务不能启动
    bacula快速部署
    配置github SSH公钥登录
    快速安装zabbix
    编译安装git
    linux系统日志中出现大量systemd Starting Session ### of user root 解决
    根据屏幕高度自适应元素高度
    git+github上传与管理
    ajax简单应用
    自己常用的webstrom快捷键
  • 原文地址:https://www.cnblogs.com/vincentqliu/p/6858036.html
Copyright © 2011-2022 走看看