下面列举的都是win7下的常见的系统进程
Idle and System
- 由ntoskrnl.exe的负责创建和终结进程和线程的process manager函数创建
- 没有可见的父进程
- System进程的PID固定为4
- System进程创建smss.exe进程
- 只有一个System进程
SMSS - Session Manager
- Base Priority:11
- Username:NT AUTHORITY\SYSTEM
- 父进程:System
- 路径:%systemroot%\System32\smss.exe
- 第一个用户态进程
- 执行延迟的文件删除或改名这些事,加载known dll
- 创建session 0(服务)、session 1(用户)
- 创建seesion 1的csrss和winlogon进程,然后退出,所以这两个进程没有父进程
- 每个用户登录进系统,就会有个smss进程来执行这些session的环境初始化工作,然后退出,所以一般情况下,只会有一个一直运行在session 0的smss进程
CSRSS.EXE - Client/Server Run
- Base Priority:13
- Username:NT AUTHORITY\SYSTEM
- 路径:%SystemRoot%\system32\csrss.exe
- Windows子系统进程,创建和删除进程、线程、临时文件等等
- 每个session都有一个对应的csrss进程
WININIT.EXE - Windows Initialization Process
- Base Priority:13
- Username:NT AUTHORITY\SYSTEM
- 路径:%SystemRoot%\system32\wininit.exe
- 子进程:services.exe、lsass.exe和lsm.exe
- 执行用户态的初始化任务,创建%windir%\temp
- 在session 0下运行
SERVICES.EXE - Service Control Manager
- Base Priority:9
- Username:NT AUTHORITY\SYSTEM
- 路径:%SystemRoot%\System32\services.exe
- 父进程:wininit.exe
- 子进程:svchost.exe、dllhost.exe、taskhost.exe、spoolsv.exe等等
- 把服务数据库加载进内存,提供服务的管理功能
- 运行在session 0下,且只有一个
LSASS.EXE - Local Security Authority
- Base Priority:9
- Username:NT AUTHORITY\SYSTEM
- 路径:%SystemRoot%\System32\lsass.exe
- 父进程:wininit.exe
- 负责本地安全策略,包括管理允许登录的用户,密码策略,写安全事件日志等等
- 运行在session 0下,且只有一个,并且不会有子进程
SVCHOST.EXE - Service Hosting Process
- Base Priority:8
- Username:NT AUTHORITY\SYSTEM、LOCAL SERVICE、NETWORK SERVICE
- 路径:%SystemRoot%\System32\svchost.exe
- 父进程:services.exe
- 会有多个进程,每个承载不同的服务组的服务,应该都在session 0下运行
LSM.EXE - Load Session Manager Service
- Base Priority:8
- Username:NT AUTHORITY\SYSTEM
- 路径:%SystemRoot%\System32\lsm.exe
- 父进程:wininit.exe
- 管理本机上的终端服务会话状态,发送请求给smss.exe来启动新会话
- 接收logon/off、shell的启动和终止、连接/结束一个会话、锁住/解锁桌面等
- 运行在session 0下,并且不会有子进程
WINLOGON.EXE - Windows Logon Process
- Base Priority:13
- Username:NT AUTHORITY\SYSTEM
- 处理诸如Ctrl+Alt+Delete触发的用户登录/登出的交互
- 加载Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit值(Userinit.exe),启动Userinit.exe
- Userinit.exe负责初始化用户环境,包括运行GPOs和启动脚本等,还会运行Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell值(Explorer.exe)
- Userinit.exe一旦运行完就退出了,所以系统运行的时候看不到这个进程,同时由于Explorer.exe也是它启动的,所以退出后,Explorer.exe看不到父进程
- 运行在session 1下
Explorer.exe - AKA Windows Explorer
- Base Priority:8
- Username:登录用户的账户名
- 路径:%Systemroot%\Explorer.exe