《实验一:进程控制描述与控制计算机嵌入式开发_计算机-嵌入式开发.pdf》由会员分享,可在线阅读,更多相关《实验一:进程控制描述与控制计算机嵌入式开发_计算机-嵌入式开发.pdf(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、.实验一:进程控制描述与控制 1 Windows “任务管理器”的进程管理 一、实验名称 Windows“任务管理器”的进程管理 二、实验目的 通过在 Windows 任务管理器中对程序进程进行响应的管理操作,熟悉操作系统进程管理的概念,学习观察操作系统运行的动态性能。三、实验容与步骤 1.使用任务管理器终止进程 2.显示其他进程计数器 3.更改正在运行的程序的优先级 启动并进入 Windows 环境,单击 Ctrl+Alt+Del 键,或者右键单击任务栏,在快捷菜单中单击“任务管理器”命令,打开“任务管理器”窗口。在本次实验中,你使用的操作系统版本是:_Windows_XP_ 当前机器中由你
2、打开,正在运行的应用程序有:1)_ _ 2)实验一 _ 3)操作系统 _ 4)百度首页 _ 5)_ftp:/172.16.20.168_ Windows“任务管理器”的窗口由_4_ 个选项卡组成,分别是:1)应用程序 _ 2)_进程 _ 3)_ 性能 _ 4)联网 _ 当前“进程”选项卡显示的栏目分别是(可移动窗口下方的游标/箭头,或使窗口最大化进行观察):Word 资料.1.使用任务管理器终止进程 步骤 1:单击“进程”选项卡,一共显示了 _40_ 个进程。请试着区分一下,其中:系统 (SYSTEM)进程有 _25_ 个,填入表 3-1 中。表 3-1 实验记录 Wmiprvse SYSTE
3、M 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 SYSTEM 00 404k System SYSTEM 00 300k System Idle Process SYSTEM 99 28k Word
4、资料.器中对程序进程进行响应的管理操作熟悉操作系统进程管理的概念学习观察操作系统运行的动态性能三实验容与步骤使用任务管理器终止进程显示其他进程计数器更改正在运行的程序的优先级启动并进入环境单击键或者右键单击任你打开正在运行的应用程序有实验一操作系统百度首页任务管理器的窗口由个选项卡组成分别是应用程序进程性能联网当前进程选项卡显示的栏目分别是可移动窗口下方的游标箭头或使窗口最大进行观察资料使用任务管理器终止进个填入表中表实验记录映像名称用户名存使用用户进程有个填入表中表实验记录映像名称资料用户名存使用步骤单击要终止的进程然后单击结束进程按钮终止进程将结束它直接或间接创建的所有子进程例如如果终止了
5、电子程序如的 .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 samservice SYSTEM 00 2460k PGPserv SYSTEM 00 6880k PandoraService SYSTEM 00 9148k spoolsv SYSTEM 00 5688k MDM SYSTE
6、M 00 3416k 服务 (SERVICE)进程有 _5 个,填入表 3-2 中。表 3-2 实验记录 映像名称 用户名 Svchost LOCAL SERVICE alg LOCAL SERVICE msdtc NETWORK SERVICE Svchost NETWORK SERVICE Svchost NETWORK SERVICE CPU 存使用 00 3996k 00 3960k 00 5228k 00 5048k 00 3888k 用户进程有 _10_ 个,填入表 3-3 中。表 3-3 实验记录 映像名称 用户名 CPU 存使用 realsched Administrator
7、00 356k Bufmonitor Administrator 00 2988k Ctfmon Administrator 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 Word 资料.器中对程序进程进行响应的管理操作熟悉操作系统
8、进程管理的概念学习观察操作系统运行的动态性能三实验容与步骤使用任务管理器终止进程显示其他进程计数器更改正在运行的程序的优先级启动并进入环境单击键或者右键单击任你打开正在运行的应用程序有实验一操作系统百度首页任务管理器的窗口由个选项卡组成分别是应用程序进程性能联网当前进程选项卡显示的栏目分别是可移动窗口下方的游标箭头或使窗口最大进行观察资料使用任务管理器终止进个填入表中表实验记录映像名称用户名存使用用户进程有个填入表中表实验记录映像名称资料用户名存使用步骤单击要终止的进程然后单击结束进程按钮终止进程将结束它直接或间接创建的所有子进程例如如果终止了电子程序如的.WINWORD Administra
9、tor 00 71188k 步骤 2:单击要终止的进程,然后单击“结束进程”按钮。终止进程,将结束它直接或间接创建的所有子进程。例如,如果终止了电子程序(如 Outlook 98)的 进 程 树,那 么 同 时 也 终 止 了 相 关 的 进 程,如 MAPI 后 台 处 理 程 序 mapisp32.exe。请将终止某进程后的操作结果与原记录数据对比,发生了什么:_终止 QQ.exe 后 QQExternal.exe 也会结束,_ _ _ _ 2.显示其他进程记数器 在“进程”选项卡上单击“查看”菜单,然后单击“选择列”命令。单击要增加显示为列标题的项目,然后单击“确定”。为对进程列表进行排
10、序,可在“进程”选项卡上单击要根据其进行排序的列标题。而为了要反转排序顺序,可再次单击列标题。经过调整,“进程”选项卡现在显示的项目分别是:_映像名称、PID、用户名、回话 ID、CPU、CPU 时间、工作设置(存)、峰值工作设置(存)、工作设置增量(存)、存(专用工作集)、I/O 读取、I/O 写入、命令行、描述 通过对“查看”菜单的选择操作,可以在“任务管理器”中更改显示选项:在“应用程序”选项卡上,可以按详细信息、大图标或小图标查看。在“性能”选项卡上,可以更改 CPU 记录图,并显示核时间。“显示核时间”选项在“CPU 使用”和“CPU 使用记录”图表上添加红线。红线指示核操作占用的
11、CPU 资源数量。3.更改正在运行的程序的优先级 要查看正在运行的程序的优先级,可单击“进程”选项卡,单击“查看”菜单,单击“选择列”-“基本优先级”命令,然后单击“确定”按钮。为更改正在运行的程序的优先级,可在“进程”选项卡上右键单击您要更改的程序,指向 “设置优先级”,然后单击所需的选项。更改进程的优先级可以使其运行更快或更慢(取决于是提升还是降低了优先级),但也可能对其他进程的性能有相反的影响。记录操作后所体会的结果:改变优先级可能造成系统不稳定。在多处理器计算机上,用户还可以给处理器指派进程,将程序或进程的执行限制在选定的处理器上,但这有可能导致总体性能的下降。2Windows Ser
12、ver 2003 进程的“一生”一、实验名称 Windows Server 2003 进程的“一生”二、实验目的 1)通过创建进程、观察正在运行的进程和终止进程的程序设计和调试操作,进一步熟 Word 资料.器中对程序进程进行响应的管理操作熟悉操作系统进程管理的概念学习观察操作系统运行的动态性能三实验容与步骤使用任务管理器终止进程显示其他进程计数器更改正在运行的程序的优先级启动并进入环境单击键或者右键单击任你打开正在运行的应用程序有实验一操作系统百度首页任务管理器的窗口由个选项卡组成分别是应用程序进程性能联网当前进程选项卡显示的栏目分别是可移动窗口下方的游标箭头或使窗口最大进行观察资料使用任务
13、管理器终止进个填入表中表实验记录映像名称用户名存使用用户进程有个填入表中表实验记录映像名称资料用户名存使用步骤单击要终止的进程然后单击结束进程按钮终止进程将结束它直接或间接创建的所有子进程例如如果终止了电子程序如的.悉操作系统的进程概念,理解 Windows Server 2003 进程的“一生”。2)通过阅读和分析实验程序,学习创建进程、观察进程和终止进程的程序设计方法。三、实验容与步骤 1.创建进程 2.正在运行的进程 3.终止进程 Windows 所创建的每个进程都是以调用 _CreateProcess()_API函数开 始和以调用 _ExitProcess()或 _TerminateP
14、rocess()_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-5 创建子进程 /proccreate 项目#include#include#include
15、/创建传递过来的进程的克隆过程并赋于其 ID 值 void StartClone(int nCloneID)/提取用于当前可执行文件的文件名 TCHAR szFilenameMAX_PATH;:GetModuleFileName(NULL,szFilename,MAX_PATH);/格式化用于子进程的命令行并通知其 EXE 文件名和克隆 ID TCHAR szCmdLineMAX_PATH;:sprintf(szCmdLine,“”%d”,szFilename,nCloneID);/用于子进程的 STARTUPINFO结构 STARTUPINFO si;:ZeroMemory(reinterp
16、ret_cast (&si),sizeof(si);si.cb=sizeof(si);/必须是本结构的大小 /返回的用于子进程的进程信息 PROCESS_INFORMATION pi;/利用同样的可执行文件和命令行创建进程,并赋于其子进程的性质 BOOL bCreateOK=:CreateProcess(szFilename,/产生这个 EXE 的应用程序的名称 szCmdLine,/告诉其行为像一个子进程的标志 NULL,/缺省的进程安全性 NULL,/缺省的线程安全性 FALSE,/不继承句柄 CREATE_NEW_CONSOLE,/使用新的控制台 Word 资料.器中对程序进程进行响应的
17、管理操作熟悉操作系统进程管理的概念学习观察操作系统运行的动态性能三实验容与步骤使用任务管理器终止进程显示其他进程计数器更改正在运行的程序的优先级启动并进入环境单击键或者右键单击任你打开正在运行的应用程序有实验一操作系统百度首页任务管理器的窗口由个选项卡组成分别是应用程序进程性能联网当前进程选项卡显示的栏目分别是可移动窗口下方的游标箭头或使窗口最大进行观察资料使用任务管理器终止进个填入表中表实验记录映像名称用户名存使用用户进程有个填入表中表实验记录映像名称资料用户名存使用步骤单击要终止的进程然后单击结束进程按钮终止进程将结束它直接或间接创建的所有子进程例如如果终止了电子程序如的.NULL,/新的
18、环境 NULL,/当前目录&si,/启动信息&pi);/返回的进程信息/对子进程释放引用 if(bCreateOK):CloseHandle(pi.hProcess);:CloseHandle(pi.hThread);int main(int argc,char*argv)/确定进程在列表中的位置 int nClone(0);if(argc 1)/从第二个参数中提取克隆 ID :sscanf(argv1,“%d”,&nClone);/显示进程位置 std:cout “Process ID:“:GetCurrentProcessId()“,Clone ID:“nClone std:endl;/检
19、查是否有创建子进程的需要 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 command requires an active project workspace.Would you like to create a default project workspace?(build 命令需要一个活动
20、的项目工作空间。你是否希望建立一个缺省的项目工作空间?)单击“是”按钮确认。系统对 3-5.cpp 进行编译。步骤 5:编译完成后,单击“Build”菜单中的“Build 3-5.exe”命令,建立 3-5.exe 可执行文 件。操作能否正常进行?如果不行,则可能的原因是什么?_ 不能正确运行,因为程序中出现了很多的语法和拼写方面的错误 _ 步骤 6:在工具栏单击“Execute Program”(执行程序)按钮,或者按 Ctrl+F5 键,或者单击“Build”菜单中的“Execute 3-5.exe”命令,执行 3-5.exe 程序。步骤 7:按 Ctrl+S 键可暂停程序的执行,按 Ct
21、rl+Pause(Break)键可终止程序的执行。Word 资料.器中对程序进程进行响应的管理操作熟悉操作系统进程管理的概念学习观察操作系统运行的动态性能三实验容与步骤使用任务管理器终止进程显示其他进程计数器更改正在运行的程序的优先级启动并进入环境单击键或者右键单击任你打开正在运行的应用程序有实验一操作系统百度首页任务管理器的窗口由个选项卡组成分别是应用程序进程性能联网当前进程选项卡显示的栏目分别是可移动窗口下方的游标箭头或使窗口最大进行观察资料使用任务管理器终止进个填入表中表实验记录映像名称用户名存使用用户进程有个填入表中表实验记录映像名称资料用户名存使用步骤单击要终止的进程然后单击结束进程
22、按钮终止进程将结束它直接或间接创建的所有子进程例如如果终止了电子程序如的.清单 3-5 展示的是一个简单的使用 CreateProcess()API 函数的例子。首先形成简单的命令行,提供当前的 EXE 文件的指定文件名和代表生成克隆进程的。大多数参数都可取缺省 值,但是创建标志参数使用了:_CREATE NEW CONSOLE_ 标志,指示新进程分配它自己的控制台,这使得运行示例程序时,在任务栏上产生许多活动 标记。然后该克隆进程的创建方法关闭传递过来的句柄并返回 main()函数。在关闭程序之 前,每一进程的执行主线程暂停一下,以便让用户看到其中的至少一个窗口。CreateProcess(
23、)函数有 _10 个核心参数?本实验程序中设置的各个参数的值是:a._ szFilename;b._ szCmdLine;c._ NULL;d._ NULL;e._ FALSE;f._ CREATE_NEW_CONSOLE;g._ NULL;h._ NULL;i._&si;j._&pi。程序运行时屏幕显示的信息是:2.正在运行的进程 本 实 验 的 程 序 中 列 出 了 用 于 进 程 信 息 查 询 的 API 函 数 GetProcessVersion()与 GetVersionEx()的共同作用,可确定运行进程的操作系统的版本号。步骤 8:在 Visual C+窗口的工具栏中单击“打开
24、”按钮,在“打开”对话框中找到并打开实验源程序 3-6.cpp。清单 3-6 使用进程和操作系统的版本信息 /version 项目#include#include /利用进程和操作系统的版本信息的简单示例 Word 资料.器中对程序进程进行响应的管理操作熟悉操作系统进程管理的概念学习观察操作系统运行的动态性能三实验容与步骤使用任务管理器终止进程显示其他进程计数器更改正在运行的程序的优先级启动并进入环境单击键或者右键单击任你打开正在运行的应用程序有实验一操作系统百度首页任务管理器的窗口由个选项卡组成分别是应用程序进程性能联网当前进程选项卡显示的栏目分别是可移动窗口下方的游标箭头或使窗口最大进行观
25、察资料使用任务管理器终止进个填入表中表实验记录映像名称用户名存使用用户进程有个填入表中表实验记录映像名称资料用户名存使用步骤单击要终止的进程然后单击结束进程按钮终止进程将结束它直接或间接创建的所有子进程例如如果终止了电子程序如的.void main()/提取这个进程的 ID 号 DWORD dwIdThis=:GetCurrentProcessId();/获得这一进程和报告所需的版本,也可以发送 0 以便指明这一进程 DWORD dwVerReq=:GetProcessVersion(dwIdThis);WORD wMajorReq=(WORD)dwVerReq 16);WORD wMinor
26、Req=(WORD)dwVerReq&0 xffff);std:cout “Process ID:“dwIdThis “,requires OS:“wMajorReq wMinorReq std:endl;/设置版本信息的数据结构,以便保存操作系统的版本信息 OSVERSIONINFOEX osvix;:ZeroMemory(&osvix,sizeof(osvix);osvix.dwOSVersionInfoSize=sizeof(osvix);/提取版本信息和报告 :GetVersionEx(reinterpret_cast (&osvix);std:cout “Running on OS:
27、“osvix.dwMajorVersion “.”osvix.dwMinorVersion=5)/改变优先级 :SetPriorityClass(:GetCurrentProcess(),/利用这一进程 HIGH_PRIORITY_CLASS);/改变为 high /报告给用户 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:编
28、译完成后,单击“Build”菜单中的“Build 3-6.exe”命令,建立 3-6.exe 可执行 文件。操作能否正常进行?如果不行,则可能的原因是什么?_不能正常运行,因为程序中出现许多语法和拼写方面的错误 _ _ 步骤 11:在工具栏单击“Execute Program”(执行程序)按钮,执行 3-6.exe 程序。运 行 结 果:Word 资料.器中对程序进程进行响应的管理操作熟悉操作系统进程管理的概念学习观察操作系统运行的动态性能三实验容与步骤使用任务管理器终止进程显示其他进程计数器更改正在运行的程序的优先级启动并进入环境单击键或者右键单击任你打开正在运行的应用程序有实验一操作系统百
29、度首页任务管理器的窗口由个选项卡组成分别是应用程序进程性能联网当前进程选项卡显示的栏目分别是可移动窗口下方的游标箭头或使窗口最大进行观察资料使用任务管理器终止进个填入表中表实验记录映像名称用户名存使用用户进程有个填入表中表实验记录映像名称资料用户名存使用步骤单击要终止的进程然后单击结束进程按钮终止进程将结束它直接或间接创建的所有子进程例如如果终止了电子程序如的.当前 PID 信息:_5310 OS:00_ 当前操作系统版本:_6.1_ 系 统 提 示 信 息:_ Task Manager should now now indicate thisprocess is high priority.
30、_ _ 清单 3-6 中的程序向读者表明了如何获得当前的 PID 和所需的进程版本信息。为了运行 这一程序,系统处理了所有的版本不兼容问题。接着,程序演示了如何使用 GetVersionEx()API 函数来提取 OSVERSIONINFOEX 结构。这一数据块中包括了操作系统的版本信息。其中,“OS:5.0”表示当前运行的操作系统是:_ Windows Server 2003_ 清单 3-6 的最后一段程序利用了操作系统的版本信息,以确认运行的是 Windows Server 2003。代码接着将当前进程的优先级提高到比正常级别高。步骤 12:单击 Ctrl+Alt+Del 键,进入“Win
31、dows 任务管理器”,在“应用程序”选项卡中 右键单击“3-6”任务,在快捷菜单中选择“转到进程”命令。在“Windows 任务管理器”的“进程”选项卡中,与“3-6”任务对应的进程映像名称是(为什么?):_VCSPAWN.EXE_ 右键单击该进程名,在快捷菜单中选择“设置优先级”命令,可以调整该进程的优先级,如设置为“高”后重新运行 3-6.exe 程序,屏幕显示有变化吗?为什么?_PID 信息变为 4488 OS:00_ _ _ 除了改变进程的优先级以外,还可以对正在运行的进程执行几项其他的操作,只要获得其进 程句柄即可。SetProcessAffinityMask()API 函数允许开
32、发人员将线程映射到处理器上;SetProcessPriorityBoost()API 可关闭前台应用程序优先级的提升;而 SetProcessWorkingSet()API 可调节进程可用的非页面 RAM 的容量;还有一个只对当前进程可用的 API 函数,即 SetProcessShutdownParameters(),可告诉系统如何终止该进程。3.终止进程 在清单 3-7 列出的程序中,先创建一个子进程,然后指令它发出“自杀弹”互斥体去终止自身的运行。Word 资料.器中对程序进程进行响应的管理操作熟悉操作系统进程管理的概念学习观察操作系统运行的动态性能三实验容与步骤使用任务管理器终止进程显
33、示其他进程计数器更改正在运行的程序的优先级启动并进入环境单击键或者右键单击任你打开正在运行的应用程序有实验一操作系统百度首页任务管理器的窗口由个选项卡组成分别是应用程序进程性能联网当前进程选项卡显示的栏目分别是可移动窗口下方的游标箭头或使窗口最大进行观察资料使用任务管理器终止进个填入表中表实验记录映像名称用户名存使用用户进程有个填入表中表实验记录映像名称资料用户名存使用步骤单击要终止的进程然后单击结束进程按钮终止进程将结束它直接或间接创建的所有子进程例如如果终止了电子程序如的.步骤 13:在 Visual C+窗口的工具栏中单击“打开”按钮,在“打开”对话框中找到并打开实验源程序 3-7.cp
34、p。清单 3-7 指令其子进程来“杀掉”自己的父进程 /procterm 项目#include#include#include static LPCTSTR g_szMutexName=“w2kdg.ProcTerm.mutex.Suicide ”;/创建当前进程的克隆进程的简单方法 void StartClone()/提取当前可执行文件的文件名 TCHAR szFilename MAX_PATH;:GetModuleFileName(NULL,szFilename,MAX_PATH);/格式化用于子进程的命令行,指明它是一个 EXE 文件和子进程 TCHAR szCmdLineMAX_PAT
35、H;:sprintf(szCmdLine,“”%s“child”,szFilename);/子进程的启动信息结构 STARTUPINFO si;:ZeroMemory(reinterpret_cast (&si),sizeof(si);si.cb=sizeof(si);/应当是此结构的大小 /返回的用于子进程的进程信息 PROCESS_INFORMATION pi;/用同样的可执行文件名和命令行创建进程,并指明它是一个子进程 BOOL bCreateOK=:CreateProcess(szFilename,/产生的应用程序名称(本 EXE 文件)szCmdLine,/告诉我们这是一个子进程的标
36、志 NULL,/用于进程的缺省的安全性 NULL,/用于线程的缺省安全性 FALSE,/不继承句柄 CREATE_NEW_CONSOLE,/创建新窗口,使输出更直观 NULL,/新环境 NULL,/当前目录&si,/启动信息结构&pi);/返回的进程信息 /释放指向子进程的引用 if(bCreateOK):CloseHandle(pi.hProcess);:CloseHandle(pi.hThread);void Parent()/创建“自杀”互斥程序体 HANDLE hMutexSuicide=:CreateMutex(NULL,/缺省的安全性 TRUE,/最初拥有的 g_szMutexNa
37、me);/为其命名 if(hMutexSuicide!=NULL)Word 资料.器中对程序进程进行响应的管理操作熟悉操作系统进程管理的概念学习观察操作系统运行的动态性能三实验容与步骤使用任务管理器终止进程显示其他进程计数器更改正在运行的程序的优先级启动并进入环境单击键或者右键单击任你打开正在运行的应用程序有实验一操作系统百度首页任务管理器的窗口由个选项卡组成分别是应用程序进程性能联网当前进程选项卡显示的栏目分别是可移动窗口下方的游标箭头或使窗口最大进行观察资料使用任务管理器终止进个填入表中表实验记录映像名称用户名存使用用户进程有个填入表中表实验记录映像名称资料用户名存使用步骤单击要终止的进程
38、然后单击结束进程按钮终止进程将结束它直接或间接创建的所有子进程例如如果终止了电子程序如的./创建子进程 std:cout “Creating the child process.”std:endl;:StartClone();/暂停 :sleep(5000);/指令子进程“杀”掉自身 std:cout “Telling the child process to quit.”std:endl;:ReleaseMutex(hMutexSuicide);/消除句柄 :CloseHandle(hMutexSuicide);void Child()/打开“自杀”互斥体 HANDLE hMutexSuic
39、ide=:OpenMutex(SYNCHRONIZE,/打开用于同步 FALSE,/不需要向下传递 g_szMutexName);/名称 if(hMutexSuicide!=NULL)/报告正在等待指令 std:cout “Child waiting for suicide instructions.”std:endl;:WaitForSingleObject(hMutexSuicide,INFINITE);/准备好终止,清除句柄 std:cout “Child quiting.”l&:strcmp(argvl,“child”)=0)Child();else Parent();return 0
40、;清单 3-7 中的程序说明了一个进程从“生”到“死”的整个一生。第一次执行时,它创建一 个子进程,其行为如同“父亲”。在创建子进程之前,先创建一个互斥的核对象,其行为对于 子进程来说,如同一个“自杀弹”。当创建子进程时,就打开了互斥体并在其他线程中进行别 的处理工作,同时等待着父进程使用 ReleaseMutex()API 发出“死亡”信号。然后用 Sleep()API 调用来模拟父进程处理其他工作,等完成时,指令子进程终止。当调用 ExitProcess()时要小心,进程中的所有线程都被立刻通知停止。在设计应用程 序时,必须让主线程在正常的 C+运行期关闭(这是由编译器提供的缺省行为)之后
41、来调 用这一函数。当它转向受信状态时,通常可创建一个每个活动线程都可等待和停止的终止事 Word 资料.器中对程序进程进行响应的管理操作熟悉操作系统进程管理的概念学习观察操作系统运行的动态性能三实验容与步骤使用任务管理器终止进程显示其他进程计数器更改正在运行的程序的优先级启动并进入环境单击键或者右键单击任你打开正在运行的应用程序有实验一操作系统百度首页任务管理器的窗口由个选项卡组成分别是应用程序进程性能联网当前进程选项卡显示的栏目分别是可移动窗口下方的游标箭头或使窗口最大进行观察资料使用任务管理器终止进个填入表中表实验记录映像名称用户名存使用用户进程有个填入表中表实验记录映像名称资料用户名存使
42、用步骤单击要终止的进程然后单击结束进程按钮终止进程将结束它直接或间接创建的所有子进程例如如果终止了电子程序如的.件。在正常的终止操作中,进程的每个工作线程都要终止,由主线程调用 ExitProcess()。接 着,管理层对进程增加的所有对象释放引用,并将用 GetExitCodeProcess()建立的退出代 码从 STILL_ACTIVE 改变为在 ExitProcess()调用中返回的值。最后,主线程对象也如同进程对象一样转变为受信状态。等到所有打开的句柄都关闭之后,管理层的对象管理器才销毁进程对象本身。还没有一 种函数可取得终止后的进程对象为其参数,从而使其“复活”。当进程对象引用一个终
43、止了的对象时,有好几个 API 函数仍然是有用的。进程可使用退出代码将终止方式通知给调用 GetExitCodeProcess()的其他进程。同时,GetProcessTimes()API 函数可向主调者显示进程 的终止时间。步骤 14:单击“Build”菜单中的“Compile 3-7.cpp”命令,再单击“是”按钮确认。系统对 3-7.cpp 进行编译。步骤 15:编译完成后,单击“Build”菜单中的“Build 3-7.exe”命令,建立 3-7.exe 可执行 文件。操作能否正常进行?如果不行,则可能的原因是什么?不能正常运行,因为程序中出现许多语法和拼写方面的错误 _ _ 步骤 1
44、6:在工具栏单击“Execute Program”按钮,执行 3-7.exe 程序。运 行 结 果:1)_ 表示:_创建子进程并让子进程结束 _ 2)_ 表示:_子进程等待结束 ,在接到消息后结束 ._ 步骤 17:在熟悉清单 3-7 源代码的基础上,利用本实验介绍的 API 函数来尝试改进本 程序(例如使用 GetProcessTimes()API 函数)并运行。四、实验结论 此处用简洁的文字对实验过程进行总结,对实验过程中遇到的问题进行 Word 资料.器中对程序进程进行响应的管理操作熟悉操作系统进程管理的概念学习观察操作系统运行的动态性能三实验容与步骤使用任务管理器终止进程显示其他进程计
45、数器更改正在运行的程序的优先级启动并进入环境单击键或者右键单击任你打开正在运行的应用程序有实验一操作系统百度首页任务管理器的窗口由个选项卡组成分别是应用程序进程性能联网当前进程选项卡显示的栏目分别是可移动窗口下方的游标箭头或使窗口最大进行观察资料使用任务管理器终止进个填入表中表实验记录映像名称用户名存使用用户进程有个填入表中表实验记录映像名称资料用户名存使用步骤单击要终止的进程然后单击结束进程按钮终止进程将结束它直接或间接创建的所有子进程例如如果终止了电子程序如的.分析等。Word 资料.器中对程序进程进行响应的管理操作熟悉操作系统进程管理的概念学习观察操作系统运行的动态性能三实验容与步骤使用任务管理器终止进程显示其他进程计数器更改正在运行的程序的优先级启动并进入环境单击键或者右键单击任你打开正在运行的应用程序有实验一操作系统百度首页任务管理器的窗口由个选项卡组成分别是应用程序进程性能联网当前进程选项卡显示的栏目分别是可移动窗口下方的游标箭头或使窗口最大进行观察资料使用任务管理器终止进个填入表中表实验记录映像名称用户名存使用用户进程有个填入表中表实验记录映像名称资料用户名存使用步骤单击要终止的进程然后单击结束进程按钮终止进程将结束它直接或间接创建的所有子进程例如如果终止了电子程序如的
限制150内