zoukankan      html  css  js  c++  java
  • 第四章 进程

    (1)什么是进程?

      进程是程序的一个运行实例,它由两个部分组成

    • 一个内核对象
    • 一个地址空间,其中包括可执行文件和dll 的代码和数据,还包括动态内存分配,比如堆栈什么的

    (2)进程实例句柄

      加载到进程空间的每一个可执行文件、dll都有一个独一无二的实例句柄HINSTANCE,也就是程序的基地址,使用的  函数是GetModuleHandle,GetModuleHandleEX

     (3)进程的的命令行由创建进程时传入,进程还包括一个与它关联的环境块,是一个键值的字符串数组.

     (4)CreateProcess函数

     (5)终止进程的四种方法

    •   主线程的入口点函数返回(这个是强烈推荐的方式)
    •       进程的一个线程调用ExitProcess函数(要避免这种方式)
    •   其他进程的一个进程调用TerminateProcess函数(要避免这种方式,异步)
    •   进程中的所有线程自然死亡(这个基本上不可能发生)

    (6)进程终止时候它做什么?

    •   终止进程内遗留的任何线程
    •       释放所有用户对象和GDI对象,关闭所有内核对象 
    •       进程的推出代码从STILL_ACTIVE变为传给传给ExitProcess或者TerminateProcess函数的代码
    •       进程内核对象的状态变为已触发状态
    •       进程内核对象的计数器减1
  • 相关阅读:
    【MySQL】(三)文件
    【MySQL】(二)InnoDB存储引擎
    Linux Shell脚本编程-信号捕获
    Linux Shell脚本编程-数组和字符串处理
    Linux Shell脚本编程-函数
    Linux Shell脚本编程-语句控制
    Linux Shell脚本编程-基础2
    Linux Shell脚本编程-基础1
    Awk
    Sed
  • 原文地址:https://www.cnblogs.com/WillingCPP/p/2998834.html
Copyright © 2011-2022 走看看