ImageVerifierCode 换一换
格式:DOC , 页数:14 ,大小:566KB ,
资源ID:3559213      下载积分:8 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/3559213.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(实验一:进程控制描述与控制.doc)为本站上传会员【人****来】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

实验一:进程控制描述与控制.doc

1、 实验一:进程控制描述与控制 [1] Windows“任务管理器”的进程管理 一、 实验名称 Windows“任务管理器”的进程管理 二、 实验目的 通过在Windows 任务管理器中对程序进程进行响应的管理操作,熟悉操作系统进程管理的概念,学习观察操作系统运行的动态性能。 三、 实验内容与步骤 1. 使用任务管理器终止进程 2. 显示其他进程计数器 3. 更改正在运行的程序的优先级   启动并进入Windows环境,单击Ctrl + Alt + Del键,或者右键单击任务栏,在快捷菜单中单击“任务管理器”命令,打开“任务管理器”窗口。 在本次实验中,

2、你使用的操作系统版本是: _______Windows_XP______________________ 当前机器中由你打开,正在运行的应用程序有: 1) _______ ________ 2) ___________实验一___ 3) _________操作系统_____________ 4) ___________百度首页 ________ 5) ____________ftp://172.16.20.168_______ Windows“任务管理器”的窗口由____4__个选项卡组成,分别是: 1) _______应用程序_____

3、 2) _进程__________________ 3) ______ 性能___________________ 4) ________联网__________________ 当前“进程”选项卡显示的栏目分别是 (可移动窗口下方的游标/箭头,或使窗口最大化进行观察) : 1. 使用任务管理器终止进程 步骤1:单击“进程”选项卡,一共显示了__40___个进程。请试着区分一下,其中: 系统 (SYSTEM) 进程有____25__个,填入表3-1中。   表3-1 实验记录    Wmiprvse  SYSTEM

4、 00  5376k  cidaemon  SYSTEM  00  300k  cidaemon  SYSTEM 00  856k  cidaemon  SYSTEM  50  284k  cisvc  SYSTEM  00  924k  csrss  SYSTEM  00  7412k  mqtgsvc SYSTEM   00  4144k  mqsvc  SYSTEM  00  6632k  snmp  SYSTEM  00  4340k  tcpservcs  SYSTEM  00  3840k  Smss  

5、SYSTEM  00  404k System SYSTEM 00 300k System Idle Process SYSTEM 99 28k winlogon SYSTEM 00 1684k services SYSTEM 00 5776k lsass SYSTEM 00 1100k svchost SYSTEM 00 5324k mDNSResponder SYSTEM 00 3920k svchost SYSTEM 00 18716k inetinfo SYSTEM 00 10608k samse

6、rvice SYSTEM 00 2460k PGPserv SYSTEM 00 6880k PandoraService SYSTEM 00 9148k spoolsv SYSTEM 00 5688k MDM SYSTEM 00 3416k 服务 (SERVICE) 进程有_____5_个,填入表3-2中。   表3-2 实验记录   映像名称 用户名 CPU 内存使用  Svchost  LOCAL SERVICE  00  3996k  alg  LOCAL SERVICE 00  3960k  msdtc

7、 NETWORK SERVICE  00  5228k  Svchost  NETWORK SERVICE  00  5048k  Svchost  NETWORK SERVICE  00  3888k                 用户进程有___10___个,填入表3-3中。   表3-3 实验记录   映像名称 用户名 CPU 内存使用  realsched  Administrator  00  356k  Bufmonitor  Administrator  00  2988k  Ctfmon  Admi

8、nistrator  00  3512k  NCClt.dll  Administrator  00  9932k  LenRCClient  Administrator  00  4588k  PGPtray  Administrator  00  15100k  SogouCloud  Administrator  00  4920k Explorer Administrator 00 10436k Taskmgr Administrator 00 2708k WINWORD Administrator 00 7118

9、8k 步骤2:单击要终止的进程,然后单击“结束进程”按钮。 终止进程,将结束它直接或间接创建的所有子进程。例如,如果终止了电子邮件程序 (如Outlook 98) 的进程树,那么同时也终止了相关的进程,如MAPI后台处理程序mapisp32.exe。 请将终止某进程后的操作结果与原记录数据对比,发生了什么: ________________终止QQ.exe后QQExternal.exe也会结束,______________________ ________________________________________________________________________

10、 ________________________________________________________________________ ________________________________________________________________________ 2. 显示其他进程记数器 在“进程”选项卡上单击“查看”菜单,然后单击“选择列”命令。单击要增加显示为列标题的项目,然后单击“确定”。 为对进程列表进行排序,可在“进程”选项卡上单击要根据其进行排序的列标题。而为了要反转排序顺序,可再次单击列标题。 经过调整,“进程”选项卡现在显示的项

11、目分别是: ___映像名称、PID、用户名、回话ID、CPU、CPU时间、工作设置(内存)、峰值工作设置(内存)、工作设置增量(内存)、内存(专用工作集)、I/O读取、I/O写入、命令行、描述 通过对“查看”菜单的选择操作,可以在“任务管理器”中更改显示选项: · 在“应用程序”选项卡上,可以按详细信息、大图标或小图标查看。 · 在“性能”选项卡上,可以更改CPU记录图,并显示内核时间。“显示内核时间”选项在“CPU使用”和“CPU使用记录”图表上添加红线。红线指示内核操作占用的CPU资源数量。 3. 更改正在运行的程序的优先级 要查看正在运行的程序的优先级,可单击“进程”

12、选项卡,单击“查看”菜单,单击“选择列”-“基本优先级”命令,然后单击“确定”按钮。 为更改正在运行的程序的优先级,可在“进程”选项卡上右键单击您要更改的程序,指向“设置优先级”,然后单击所需的选项。 更改进程的优先级可以使其运行更快或更慢 (取决于是提升还是降低了优先级) ,但也可能对其他进程的性能有相反的影响。 记录操作后所体会的结果: 改变优先级可能造成系统不稳定。在多处理器计算机上,用户还可以给处理器指派进程,将程序或进程的执行限制在选定的处理器上,但这有可能导致总体性能的下降。 [2]Windows Server 2003进程的“一生” 一、 实验名称 Windo

13、ws Server 2003进程的“一生” 二、实验目的 1) 通过创建进程、观察正在运行的进程和终止进程的程序设计和调试操作,进一步熟悉操作系统的进程概念,理解 Windows Server 2003进程的“一生”。 2) 通过阅读和分析实验程序,学习创建进程、观察进程和终止进程的程序设计方法。 三、实验内容与步骤 1. 创建进程 2. 正在运行的进程 3. 终止进程   Windows所创建的每个进程都是以调用________CreateProcess()____________API函数开始和以调用_____________ExitProcess()___

14、或 ___________TerminateProcess()_______API函数终止。 1. 创建进程 本实验显示了创建子进程的基本框架。该程序只是再一次地启动自身,显示它的系统进程ID和它在进程列表中的位置。 步骤1:登录进入Windows Server 2003。 步骤2:在“开始”菜单中单击“程序”-“Microsoft Visual Studio 6.0”–“Microsoft Visual C++ 6.0”命令,进入Visual C++窗口。 步骤3:在工具栏单击“打开”按钮,在“打开”对话框中找到并打开实验源程序3-5.cpp。 清单3-

15、5 创建子进程 // proccreate项目 # include # include # include // 创建传递过来的进程的克隆过程并赋于其ID值 void StartClone(int nCloneID) { // 提取用于当前可执行文件的文件名 TCHAR szFilename[MAX_PATH] ; :: GetModuleFileName(NULL, szFi

16、lename, MAX_PATH) ;   // 格式化用于子进程的命令行并通知其EXE文件名和克隆ID TCHAR szCmdLine[MAX_PATH] ; :: sprintf(szCmdLine, “\”%s\” %d”, szFilename, nCloneID) ;   // 用于子进程的STARTUPINFO结构 STARTUPINFO si; :: ZeroMemory(reinterpret_cast (&si) , sizeof(si) ) ;

17、 si.cb = sizeof(si) ; // 必须是本结构的大小   // 返回的用于子进程的进程信息 PROCESS_INFORMATION pi;   // 利用同样的可执行文件和命令行创建进程,并赋于其子进程的性质 BOOL bCreateOK = :: CreateProcess( szFilename, // 产生这个EXE的应用程序的名称 szCmdLine, // 告诉其行为像一个子进程的标志

18、 NULL, // 缺省的进程安全性 NULL, // 缺省的线程安全性 FALSE, // 不继承句柄 CREATE_NEW_CONSOLE, // 使用新的控制台 NULL, // 新的环境 NULL, // 当前目录 &si, // 启动信息 &pi) ; // 返回的进程信息   // 对子进程释放引用

19、 if (bCreateOK) { :: CloseHandle(pi.hProcess) ; :: CloseHandle(pi.hThread) ; } }   int main(int argc, char* argv[] ) { // 确定进程在列表中的位置 int nClone(0) ; if (argc > 1) {

20、// 从第二个参数中提取克隆ID :: sscanf(argv[1] , “%d” , &nClone) ; }   // 显示进程位置 std :: cout << “Process ID: “ << :: GetCurrentProcessId() << “, Clone ID: “ << nClone << std :: endl;   // 检查是否有创建子进程的需要

21、const int c_nCloneMax = 25; if (nClone < C_nCloneMax) { // 发送新进程的命令行和克隆号 StartClone(++nClone) ; } // 在终止之前暂停一下 (l/2秒) :: Sleep(500) ;   return 0; } 步骤4:单击“Build”菜单中的“Compile 3-5.cpp”命令,系统显示: This build

22、command requires an active project workspace. Would you like to create a default project workspace ? (build命令需要一个活动的项目工作空间。你是否希望建立一个缺省的 项目工作空间?) 单击“是”按钮确认。系统对3-5.cpp进行编译。 步骤5:编译完成后,单击“Build”菜单中的“Build 3-5.exe”命令,建立3-5.exe可执行文件。 操作能否正常进行?如果不行,则可能的原因是什么? ____不能正确运行,因为程序中出现了很多的语法和拼写方面的错误_

23、 步骤6:在工具栏单击“Execute Program”(执行程序) 按钮,或者按Ctrl + F5键,或者单击“Build”菜单中的“Execute 3-5.exe”命令,执行3-5.exe程序。 步骤7:按Ctrl + S键可暂停程序的执行,按Ctrl + Pause (Break) 键可终止程序的执行。 清单3-5展示的是一个简单的使用CreateProcess() API函数的例子。首先形成简单的命令行,提供当前的 EXE文件的指定文件名和代表生成克隆进

24、程的号码。大多数参数都可取缺省值,但是创建标志参数使用了: ___________________CREATE NEW CONSOLE_____________________________________ 标志,指示新进程分配它自己的控制台,这使得运行示例程序时,在任务栏上产生许多活动标记。然后该克隆进程的创建方法关闭传递过来的句柄并返回main() 函数。在关闭程序之前,每一进程的执行主线程暂停一下,以便让用户看到其中的至少一个窗口。 CreateProcess() 函数有____10____个核心参数?本实验程序中设置的各个参数的值是: a. __ szFilename____

25、 b. ___ szCmdLine_______________________________________; c. ____ NULL_______________________________________; d. ____ NULL______________________________________; e. _____ FALSE_______________________________________; f. _____ CREATE_NEW_CONSOLE____________

26、 g. ____ NULL_______________________________________; h. ____ NULL_______________________________________; i. _____ &si________________________________________; j. _____ &pi_______________________________________。 程序运行时屏幕显示的信息是: 2. 正在运行的进程 本实验的程序中列出了用于进程信息查询的API函数GetPr

27、ocessVersion() 与GetVersionEx() 的共同作用,可确定运行进程的操作系统的版本号。 步骤8:在Visual C++ 窗口的工具栏中单击“打开”按钮,在“打开”对话框中找到并打开实验源程序3-6.cpp。 清单3-6 使用进程和操作系统的版本信息 // version项目 # include # include   // 利用进程和操作系统的版本信息的简单示例 void main() { // 提取

28、这个进程的ID号 DWORD dwIdThis = :: GetCurrentProcessId() ;   // 获得这一进程和报告所需的版本,也可以发送0以便指明这一进程 DWORD dwVerReq = :: GetProcessVersion(dwIdThis) ; WORD wMajorReq = (WORD) dwVerReq > 16) ; WORD wMinorReq = (WORD) dwVerReq & 0xffff) ; std :: co

29、ut << “Process ID: “ << dwIdThis << “, requires OS: “ << wMajorReq << wMinorReq << std :: endl ;   // 设置版本信息的数据结构,以便保存操作系统的版本信息 OSVERSIONINFOEX osvix; :: ZeroMemory(&osvix, sizeof(osvix) ) ; osvix.dwOSVersionInfoSize = sizeof(osvix) ;  

30、 // 提取版本信息和报告 :: GetVersionEx(reinterpret_cast < LPOSVERSIONINFO > (&osvix) ) ; std :: cout << “Running on OS: “ << osvix.dwMajorVersion << “.” << osvix.dwMinorVersion << std :: endl;   // 如果是NTS (Windows Server 2003) 系统,则提高其优先权 if

31、 (osvix.dwPlatformld = = VER_PLATFORM_WIN32_NT && osvix.dwMajorVersion >= 5) { // 改变优先级 :: SetPriorityClass( :: GetCurrentProcess() , // 利用这一进程 HIGH_PRIORITY_CLASS) ; // 改变为high   // 报

32、告给用户 std :: cout << “Task Manager should now now indicate this” “process is high priority.” << std :: endl; } } 步骤9:单击“Build”菜单中的“Compile 3-6.cpp”命令,再单击“是”按钮确认。系统对3-6.cpp进行编译。 步骤10:编译完成后,单击“Build”菜单中的“Build 3-6.exe”命令,建立3-6.exe可执行文件。 操作能否正常进行?如

33、果不行,则可能的原因是什么? __不能正常运行,因为程序中出现许多语法和拼写方面的错误_______________________________________________________________________ ________________________________________________________________________ 步骤11:在工具栏单击“Execute Program” (执行程序) 按钮,执行3-6.exe程序。 运行结果: 当前PID信息:___5310 OS:00__________________

34、 当前操作系统版本:__6.1_____________________________________________________ 系统提示信息:_ Task Manager should now now indicate thisprocess is high priority.______ _______________________________________________________________________ 清单3-6中的程序向读者表明了如何获得当前的PID和所需的进程版本信息。为了运行这一程序,系统处理了所有的版本不

35、兼容问题。 接着,程序演示了如何使用GetVersionEx() API函数来提取OSVERSIONINFOEX结构。这一数据块中包括了操作系统的版本信息。其中,“OS : 5.0”表示当前运行的操作系统是: ________________ Windows Server 2003_______________________________ 清单3-6的最后一段程序利用了操作系统的版本信息,以确认运行的是Windows Server 2003。代码接着将当前进程的优先级提高到比正常级别高。 步骤12:单击Ctrl + Alt + Del键,进入“Windows任务管理器”,在“应

36、用程序”选项卡中右键单击“3-6”任务,在快捷菜单中选择“转到进程”命令。 在“Windows任务管理器”的“进程”选项卡中,与“3-6”任务对应的进程映像名称是 (为什么?) : _____________VCSPAWN.EXE___________________ 右键单击该进程名,在快捷菜单中选择“设置优先级”命令,可以调整该进程的优先级,如设置为“高”后重新运行3-6.exe程序,屏幕显示有变化吗?为什么? ______PID信息变为4488 OS:00_________________________ _____________________________

37、 ________________________________________________________________________ 除了改变进程的优先级以外,还可以对正在运行的进程执行几项其他的操作,只要获得其进程句柄即可。SetProcessAffinityMask() API函数允许开发人员将线程映射到处理器上;SetProcessPriorityBoost() API可关闭前台应用程序优先级的提升;而 SetProcessWorkingSet() API可调节进程可用的非页面RAM的

38、容量;还有一个只对当前进程可用的API函数,即SetProcessShutdownParameters() ,可告诉系统如何终止该进程。 3. 终止进程 在清单3-7列出的程序中,先创建一个子进程,然后指令它发出“自杀弹”互斥体去终止自身的运行。 步骤13:在Visual C++ 窗口的工具栏中单击“打开”按钮,在“打开”对话框中找到并打开实验源程序3-7.cpp。 清单3-7 指令其子进程来“杀掉”自己的父进程 // procterm项目 # include # include

39、m> # include static LPCTSTR g_szMutexName = “w2kdg.ProcTerm.mutex.Suicide” ;   // 创建当前进程的克隆进程的简单方法 void StartClone() { // 提取当前可执行文件的文件名 TCHAR szFilename [MAX_PATH] ; :: GetModuleFileName(NULL, szFilename, MAX_PATH) ;  

40、 // 格式化用于子进程的命令行,指明它是一个EXE文件和子进程 TCHAR szCmdLine[MAX_PATH] ; :: sprintf(szCmdLine, “\” %s\ “ child” , szFilename) ;   // 子进程的启动信息结构 STARTUPINFO si; :: ZeroMemory(reinterpret_cast < void* > (&si) , sizeof(si) ) ; si.cb = sizeof(si) ;

41、 // 应当是此结构的大小   // 返回的用于子进程的进程信息 PROCESS_INFORMATION pi;   // 用同样的可执行文件名和命令行创建进程,并指明它是一个子进程 BOOL bCreateOK = :: CreateProcess( szFilename, // 产生的应用程序名称 (本EXE文件) szCmdLine, // 告诉我们这是一个子进程的标志 NULL,

42、 // 用于进程的缺省的安全性 NULL, // 用于线程的缺省安全性 FALSE, // 不继承句柄 CREATE_NEW_CONSOLE, // 创建新窗口,使输出更直观 NULL, // 新环境 NULL, // 当前目录 &si, // 启动信息结构 &pi ) ; // 返回的进程信息   //

43、 释放指向子进程的引用 if (bCreateOK) { :: CloseHandle(pi.hProcess) ; :: CloseHandle(pi.hThread) ; } } void Parent() { // 创建“自杀”互斥程序体 HANDLE hMutexSuicide = :: CreateMutex( NULL, // 缺省的安

44、全性 TRUE, // 最初拥有的 g_szMutexName) ; // 为其命名 if (hMutexSuicide != NULL) { // 创建子进程 std :: cout << “Creating the child process.” << std :: endl; :: StartClone() ;   // 暂停

45、 :: sleep(5000) ;   // 指令子进程“杀”掉自身 std :: cout << “Telling the child process to quit. ” << std :: endl; :: ReleaseMutex(hMutexSuicide) ;   // 消除句柄 :: CloseHandle(hMutexSuicide) ; } }   void Child() {

46、// 打开“自杀”互斥体 HANDLE hMutexSuicide = :: OpenMutex( SYNCHRONIZE, // 打开用于同步 FALSE, // 不需要向下传递 g_szMutexName) ; // 名称 if (hMutexSuicide != NULL) { // 报告正在等待指令 std :: cout << “Child waiting

47、 for suicide instructions. ” << std :: endl; :: WaitForSingleObject(hMutexSuicide, INFINITE) ;   // 准备好终止,清除句柄 std :: cout << “Child quiting. ” << std :: endl; :: CloseHandle(hMutexSuicide) ; } }   int main(int arqc, ch

48、ar* argv[] ) { // 决定其行为是父进程还是子进程 if (argc > l && :: strcmp(argv[l] , “child” ) = = 0) { Child() ; } else { Parent() ; } return 0; } 清单3-7中的程序说明了一个进程从“生”到“死”的整个一生。第一次执行

49、时,它创建一个子进程,其行为如同“父亲”。在创建子进程之前,先创建一个互斥的内核对象,其行为对于子进程来说,如同一个“自杀弹”。当创建子进程时,就打开了互斥体并在其他线程中进行别的处理工作,同时等待着父进程使用ReleaseMutex() API发出“死亡”信号。然后用Sleep() API调用来模拟父进程处理其他工作,等完成时,指令子进程终止。 当调用ExitProcess() 时要小心,进程中的所有线程都被立刻通知停止。在设计应用程序时,必须让主线程在正常的C++ 运行期关闭 (这是由编译器提供的缺省行为) 之后来调用这一函数。当它转向受信状态时,通常可创建一个每个活动线程都可等待和停止

50、的终止事件。 在正常的终止操作中,进程的每个工作线程都要终止,由主线程调用ExitProcess()。接着,管理层对进程增加的所有对象释放引用,并将用 GetExitCodeProcess() 建立的退出代码从STILL_ACTIVE改变为在ExitProcess() 调用中返回的值。最后,主线程对象也如同进程对象一样转变为受信状态。 等到所有打开的句柄都关闭之后,管理层的对象管理器才销毁进程对象本身。还没有一种函数可取得终止后的进程对象为其参数,从而使其“复活”。当进程对象引用一个终止了的对象时,有好几个API函数仍然是有用的。进程可使用退出代码将终止方式通知给调用GetEx

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服