欢迎来到天天文库
浏览记录
ID:32446243
大小:634.00 KB
页数:15页
时间:2019-02-04
《【5A版】实验一进程创建与终止.ppt》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、操作系统原理实验浙江工业大学计算机科学与技术学院王振华实验一进程创建与终止实验目的:利用Windows提供的API函数,编写程序,实现进程的创建和终止(如创建写字板进程及终止该进程),加深对操作系统进程概念的理解,观察操作系统进程运行的动态性能,获得包含多进程的应用程序编程经验。Windows所创建的每个进程都从调用CreateProcess()API函数开始,该函数的任务是在对象管理器子系统内初始化进程对象;每一进程都以调用ExitProcess()或TerminateProcess()API函数终止。背景知识进程创建实例BOOLCreateProcess(LPCTSTRl
2、pApplicationName,LPTSTRlpCommandLine,LPSECURITY_ATTRIBUTESlpProcessAttributes,LPSECURITY_ATTRIBUTESlpThreadAttributes,BOOLbInheritHandles,DWORDdwCreationFlags,LPVOIDlpEnvironment,LPCTSTRlpCurrentDirectory,LPSTARTUPINFOlpStartupInfo,LPPROCESS_INFORMATIONlpProcessInformation);各项参数意义lpApplicat
3、ionName:指定要执行的模块,包括可执行代码的EXE文件的文件名。lpCommandLine:指向一个以空结尾的串,该串定义了要执行的命令行。该命令行是可以在Windows提示符下执行的命令行。lpProcessAttributes:指向一个SECURITY_ATTRIBUTES结构,该结构决定了返回的句柄是否可被子进程继承。lpThreadAttributes:指向一个SECURITY_ATTRIBUTES结构,该结构决定了返回的句柄是否可被子线程继承。bInheritHandles:表明新进程是否可继承创建者进程的句柄。dwCreationFlags:定义控制优先类和
4、进程创建的附加标志。lpEnvironment:指向一个新进程的环境块。lpCurrentDirectory:指向一个以空结尾的串,该串定义了子进程的当前驱动器和当前目录。lpStartupInfo:指向一个STARTUPINFO结构,该结构定义了新进程的主窗口将如何显示。lpProcessInformation:指向进程信息描述结构,该结构接受关于新进程的描述信息。各项参数意义可执行文件运行时的文件名及其命令行,如lpCommandLine="c://windows//system32//cmd.exe”或lpApplicationName=“c://windows//sy
5、stem32//cmd.exe”lpStartupInfor描述新进程的窗口显示情况。定义STARTUPINFO结构,并赋予初始值,如:STARTUPINFOsi;memset(&si,0,sizeof(si));si.cb=sizeof(si);lpProcessInformation指向进程信息描述结构,接受关于新进程的描述信息,如:PROCESS_INFORMATIONpiCreateProcess()调用的核心参数所有进程都是以调用ExitProcess()或者TerminateProcess()函数结束的。TerminateProcess()API函数只要打开带有P
6、ROCESS_TERMINATE访问权的进程对象,就可以终止进程,并向系统返回指定的代码。如果不知道所创建进程中所有线程的状态,最好使用TerminateProcess()终止进程。终止进程VOIDExitProcess(UINTuExitCode);uExitCode[in]Exitcodefortheprocessandallthreadsterminatedasaresultofthiscall.UsetheGetExitCodeProcessfunctiontoretrievetheprocess'sexitvalue.UsetheGetExitCodeThreadf
7、unctiontoretrieveathread'sexitvalue.ExitProcess()BOOLTerminateProcess(HANDLEhProcess,UINTuExitCode);hProcess[in]Handletotheprocesstoterminate.ThehandlemusthavethePROCESS_TERMINATEaccessright.uExitCode[in]Exitcodetobeusedbytheprocessandthreadsterminatedas
此文档下载收益归作者所有