版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验一进程控制与描述第一页,共十五页,2022年,8月28日实验一进程控制与描述实验目的:利用Windows提供的API函数,编写程序,实现进程的创建和终止(如创建写字板进程及终止该进程),加深对操作系统进程概念的理解,观察操作系统进程运行的动态性能,获得包含多进程的应用程序编程经验。第二页,共十五页,2022年,8月28日Windows所创建的每个进程都从调用CreateProcess()API函数开始,该函数的任务是在对象管理器子系统内初始化进程对象;每一进程都以调用ExitProcess()或TerminateProcess()API函数终止。背景知识第三页,共十五页,2022年,8月28日进程创建实例
BOOLCreateProcess(LPCTSTRlpApplicationName,LPTSTRlpCommandLine,LPSECURITY_ATTRIBUTESlpProcessAttributes,LPSECURITY_ATTRIBUTESlpThreadAttributes,BOOLbInheritHandles,DWORDdwCreationFlags,LPVOIDlpEnvironment,LPCTSTRlpCurrentDirectory,LPSTARTUPINFOlpStartupInfo,LPPROCESS_INFORMATIONlpProcessInformation);第四页,共十五页,2022年,8月28日各项参数意义lpApplicationName:指定要执行的模块,包括可执行代码的EXE文件的文件名。lpCommandLine:指向一个以空结尾的串,该串定义了要执行的命令行。该命令行是可以在Windows提示符下执行的命令行。lpProcessAttributes:指向一个SECURITY_ATTRIBUTES结构,该结构决定了返回的句柄是否可被子进程继承。lpThreadAttributes:指向一个SECURITY_ATTRIBUTES结构,该结构决定了返回的句柄是否可被子进程继承。第五页,共十五页,2022年,8月28日bInheritHandles,:表明新进程是否可继承创建者进程的句柄。dwCreationFlags:定义控制优先类和进程创建的附加标志。lpEnvironment:指向一个新进程的环境块。lpCurrentDirectory:指向一个以空结尾的串,该串定义了子进程的当前驱动器和当前目录。lpStartupInfo:指向一个STARTUPINFO结构,该结构定义了新进程的主窗口将如何显示。lpProcessInformation:指向进程信息描述结构,该结构接受关于新进程的描述信息。各项参数意义第六页,共十五页,2022年,8月28日可执行文件运行时的文件名及其命令行,如
lpCommandLine="c:\\windows\\system32\\cmd.exe“lpStartupInfor描述新进程的窗口显示情况。定义STARTUPINFO结构,并赋予初始值,如:STARTUPINFOsi;memset(&si,0,sizeof(si));si.cb=sizeof(si);lpProcessInformation指向进程信息描述结构,接受关于新进程的描述信息,如:PROCESS_INFORMATIONpiCreateProcess()调用的核心参数第七页,共十五页,2022年,8月28日所有进程都是以调用ExitProcess()或者TerminateProcess()函数结束的。TerminateProcess()API函数只要打开带有PROCESS_TERMINATE访问权的进程对象,就可以终止进程,并向系统返回指定的代码。如果不知道所创建进程中所有线程的状态,最好使用TerminateProcess()终止进程。终止进程第八页,共十五页,2022年,8月28日VOIDExitProcess(UINTuExitCode);uExitCode[in]Exitcodefortheprocessandallthreadsterminatedasaresultofthiscall.UsetheGetExitCodeProcessfunctiontoretrievetheprocess'sexitvalue.UsetheGetExitCodeThreadfunctiontoretrieveathread'sexitvalue.ExitProcess()第九页,共十五页,2022年,8月28日BOOLTerminateProcess(HANDLEhProcess,UINTuExitCode);hProcess[in]Handletotheprocesstoterminate.ThehandlemusthavethePROCESS_TERMINATEaccessright.uExitCode[in]Exitcodetobeusedbytheprocessandthreadsterminatedasaresultofthiscall.Value0meanscurrentprocess.TerminateProcess()第十页,共十五页,2022年,8月28日typedefstruct_PROCESS_INFORMATION{
HANDLEhProcess;//Handletothenewlycreatedprocess.
HANDLEhThread;//Handletotheprimarythreadofthenewlycreatedprocess.
DWORDdwProcessId;//Valuethatcanbeusedtoidentifyaprocess.
DWORDdwThreadId;//Valuethatcanbeusedtoidentifyathread.
}PROCESS_INFORMATION,
*LPPROCESS_INFORMATION;
PROCESS_INFORMATION第十一页,共十五页,2022年,8月28日进程的创建和终止。编写一段程序,可以创建一个进程,并终止当前创建的进程。试观察记录程序执行的结果,并分析原因。利用VC++6.0实现上述程序设计和调试操作,对于进程创建的成功与否、终止进程操作的成功与否提供一定的提示框。通过阅读和分析实验程序,学习创建进程、观察进程和终止进程的程序设计方法实验内容与步骤第十二页,共十五页,2022年,8月28日在开始本实验之前,请回顾教科书的相关内容需要做以下准备:一台运行Windows2000/XP操作系统的计算机计算机中需安装VisualC++6.0专业版或企业版工具/准备工作第十三页,共十五页,2022年,8月28日思考系统是怎样创建进程的?可执行文件加载时进行了那些处理?当首次调用新创建进程时,其入口在那里?第十四页,共十五页,2022年,8月28日实验报告
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年儿童绘本出版协议
- 2025年电商平台在线教育平台服务合同
- 初中化学溶液pH测定微型化实验在中学化学课程改革中应用研究课题报告教学研究课题报告
- 知识题库-趣味文化常识竞赛题及答案
- 2025年乡村民宿集群十年区域品牌塑造报告
- 2026年四川川渝国际人才发展集团招聘33名劳务派遣人员备考题库及答案详解(夺冠系列)
- 2026年贵阳市矿产能源投资集团有限公司公开招聘工作人员备考题库(第三批)及参考答案详解
- 国外3个月以上婴幼儿和儿童社区获得性肺炎管理指南
- 高中化学实验教学中风险评估与管理策略研究课题报告教学研究课题报告
- 2026年云南林业职业技术学院单招职业技能笔试备考试题及答案解析
- 2026年安全员之A证考试题库500道附参考答案(黄金题型)
- 大学计算机教程-计算与人工智能导论(第4版)课件 第3章 算法和数据结构
- 带脉的课件教学课件
- 中国昭通中药材国际中心项目可行性研究报告
- 2025中国融通资产管理集团有限公司招聘笔试备考试题(230人)附答案解析
- 2026马年春节新年年货节大集庙会(金马迎春年货大集)活动策划方案
- 心脏搭桥课件
- 2026年安全员之A证考试题库500道附答案【满分必刷】
- 2025年广东省第一次普通高中学业水平合格性考试(春季高考)思想政治试题(含答案详解)
- 人工智能行业-“人工智能+”行动深度解读与产业发展机遇
- 养殖场贷款申请书样本
评论
0/150
提交评论