强关进程,官大一级压死“人”作者:锈 剑来源:《电脑爱好者》2010年第06期 等级分明的计算机王国
说到结束进程,我们最熟悉的就是某一个程序假死了,我们调出任务管理器,将此程序的进程关掉。这里我们就是用到了Windows任务管理器的进程管理功能。但有的时候我们发现有些进程无法使用任务管理器结束,原因到底是什么?先让我们了解下计算机内关于进程的知识。 计算机运行一个软件会创建一个或几个进程,运行的进程相当于一个容器包含了各种各样的资源,比如有些负责显示窗口,有些负责处理事情。不同的进程都由电脑统一管理,电脑为了方便给进程分配资源会对进程进行分类,好比人类社会封建时代的等级制度制度,崇尚“君要臣死,米拉的白日梦臣不得不死”。在计算机世界也如此,操作系统是“君”,它控制着电脑的所有资源,进程即“臣”,
接受操作系统的领导。而同时大臣之间又有官职,官职越大,权力越高,马车夫之歌可以获得电脑的更多的控制权。两个进程管理工具同时存在的时候,谁的权力大就可以结束更多的进程(见图1)。比如前面我们用任务管理器结束假死程序(一般采用TerminateProcess等常规函数结束进程),说明任务管理器有权利对一些常见应用程序进行管理,表现出来的就是可以结束掉它的进程。同时有些进程我们无法使用任务管理器来结束,比如杀毒软件的进程,这显然超出了任务管理器这个小官的职能范围了。
琦君作者简介官大一级压死人 刀利钝有不同
在平时我们还会遇到一些难题,例如进程有误,或者发现某个进程是病毒进程,这时要结束进程,尊龙名社却遇到无法结束的提示,显然这个时候是碰上了官职更高的进程了。那怎么办呢?
操作系统为了保护自己的核心数据不被应用程序错误地修改,靳辅将程序代码划分在用户模式与内核模式两种模式下运行,用户模式下运行的程序代码是无法轻易篡改系统内核数据的
(见图2)。一般情况下,Windows应用程序会使用三界演义TerminateProcess这个由系统提供应用程序接口来结束另一个进程。当然,在此之前应用程序会使用另一个系统提供应用程序接口OpenProcess来获得对这个进程的访问权限。如果没有获得足够的访问权限,应用程序将无法进行结束另一个进程的操作。