进程中为什么会有同名的进程

  在看一个项目代码时,发现在调试时出现有同名的进程,比如说svshost.exe;现将查找到的资料做个笔记。欢迎补充。

  详细分析svshost.exe进程

  微软对svshost.exe有如下描述:svshost.exe是从动态链接库(DLL)中运行的服务的通用主机进程名称。

  其实svshost.exe是Windows XP系统的一个核心进程。svshost.exe不单单只出现在Windows XP中,在使用NT内核的Windows系统中都会有svshost.exe的存在。一般在Windows 2000中svshost.exe进程的书名为2个,而在Windows XP中svshost.exe进程的数目就上升到了4个及4个以上。

  svshost.exe的作用:

  Windows系统中的进程分为:独立进程和共享进程两种。由于Windows系统中的服务越来越多,为了节约有限的系统资源,微软把很多的服务做成了共享模式。

  svshost.exe的工作就是作为这些服务的宿主,即由Svchost.exe来启动这些服务。Svchost.exe只是负责为这些服务提供启动的条件,其自身并不能实现任何服务的功能,也不能为用户提供任何服务。Svchost.exe通过为这些系统服务调用动态链接库(DLL)的方式来启动系统服务。

  那Svchost.exe是病毒这种说法是任何产生的呢?

  因为可以作为服务的宿主来启动服务,所以病毒、木马的编写者也挖空心思的要利用Svchost.exe的这个特性来迷惑用户达到入侵、破坏计算机的目的。

时间: 2024-10-24 12:15:22

进程中为什么会有同名的进程的相关文章

在vs 调试进程中找不到 w3wp.exe 进程

问题如图所示: 解决办法: 1. 启动iis(internet information services)服务. 2. 打开左侧网站列表=> 右键点击自己配置的网站 => 点击管理网站 => 点击 浏览 3. 回到vs 重新打开进程列表,可以看到 w3wp.exe 进程已启动. 原文地址:https://www.cnblogs.com/OneManStep/p/9961039.html

学习笔记之卸载远程目标进程中的DLL模块(转)

学习笔记之卸载远程目标进程中的DLL模块 (2007-07-23 23:51:02) 转载▼ 学习笔记之卸载远程目标进程中的DLL模块2007/7/231.首先得把DLL模块中的线程结束使用CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD,0);创建系统线程的快照然后用Thread32First()和Thread32Next()遍历系统中所有线程.将遍历到的线程保存到THREADENTRY32结构,然后判断结构中的th32OwnerProcessID成员是否与

Android系统在新进程中启动自定义服务过程(startService)的原理分析

在编写Android应用程序时,我们一般将一些计算型的逻辑放在一个独立的进程来处理,这样主进程仍然可以流畅地响应界面事件,提高用户体验.Android系统为我们提供了一个Service类,我们可以实现一个以Service为基类的服务子类,在里面实现自己的计算型逻辑,然后在主进程通过startService函数来启动这个服务.在本文中,将详细分析主进程是如何通过startService函数来在新进程中启动自定义服务的. 在主进程调用startService函数时,会通过Binder进程间通信机制来

如何实现在线查看进程中的变量以及执行调试函数

本程序实现了查看进程中的全局变量,以及执行进程中的调试函数的功能. 程序运行后,init_symbol函数会创建一个线程,此线程从标准输入读取 用户输入的变量名或函数调用命令,然后输出相应的结果. 例如, 输入 my_var,即可查看变量my_var的信息. 输入 my_func(1, "good", 0x123) 即可使用输入的参数执行函数my_func 目前最大支持8个参数,且每个参数size必须等于sizeof(long) my_func函数的各个入参就是一个符合要求的例子. 输

Android应用程序在新的进程中启动新的Activity的方法和过程分析

Android应用程序在新的进程中启动新的Activity的方法和过程分析 - 老罗的Android之旅 - 博客频道 - CSDN.NET ? ? ? ?前面我们在分析Activity启动过程的时候,看到同一个应用程序的Activity一般都是在同一个进程中启动,事实上,Activity也可以像Service一样在新的进程中启动,这样,一个应用程序就可以跨越好几个进程了,本文就分析一下在新的进程中启动Activity的方法和过程. ?? ? ? ?在前面Android进程间通信(IPC)机制B

进程中的一个线程死了所引发的后果

我们知道,同一个进程中的多个线程共享进程资源,包括主内存.文件句柄.锁资源等.那么当一个线程死了(非正常退出.死循环等)就会导致线程该占有的资源永远无法释放,从而影响其他线程的正常工作,看下面一个例子. 1 import java.util.concurrent.locks.Lock; 2 import java.util.concurrent.locks.ReentrantLock; 3 4 public class ExceptInChildThread { 5 public static

获取其他进程中“Internet Explorer_TridentCmboBx”的内容

function GetTridentCmboBxText( // 获取其他进程中“Internet Explorer_TridentCmboBx”的内容   mHandle: THandle; // ComboBox句柄   mStrings: TStrings // 输出列表 ): Boolean; // 返回获取数据是否成功 var   I: Integer;   vItemCount: Integer;   vAddress: array[0..4] of Char;   vProces

获取其他进程中StatusBar的文本

(*// 标题:获取其他进程中StatusBar的文本 说明:Window2000+Delphi6调试通过 设计:Zswang 支持:[email protected] 日期:2005-02-22 //*) uses CommCtrl; function GetStatusBarText(mHandle: THandle): string; var   vBuffer: array[0..$1000] of Char;   vSize: Integer;   I: Integer;   vCou

(转)同一进程中的线程究竟共享哪些资源

线程共享的环境包括:进程代码段.进程的公有数据(利用这些共享的数据,线程很容易的实现相互之间的通讯).进程打开的文件描述符.信号的处理器.进程的当前目录和进程用户ID与进程组ID. 进程拥有这许多共性的同时,还拥有自己的个性.有了这些个性,线程才能实现并发性.这些个性包括: 1.线程ID      每个线程都有自己的线程ID,这个ID在本进程中是唯一的.进程用此来标识线程. 2.寄存器组的值       由于线程间是并发运行的,每个线程有自己不同的运行线索,当从一个线程切换到另一个线程上时,必须