kill/start系统进程的研究
声明
:内容的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负。
目录
- kill/start系统进程的研究
- Windows系统进程
- 简介
- 特点
- 系统进程
- taskkill命令
- 简介
- 帮助文档
- 使用
- 示例
- start命令
- 简介
- 帮助文档
- 使用
- 示例
Windows系统进程
简介
Windows进程:指在Windows系统中正在运行的一个应用程序
特点
- 动态性:进程是程序的一次执行过程,是临时的、有生命周期的;
- 独立性:进程是系统进行资源分配和调度的一个独立单位;
- 并发性:多个进程可以在处理机上交替执行;
- 结构性:系统为每个进程建立一个进程控制块。
系统进程
每一个系统进程都有着至关重要的作用
csrss.exe 子系统服务器进程
winlogon.exe 管理用户登录 结束进程之后就会注销账号重新登录
services.exe 包含很多系统服务
svchost.exe 包含很多系统服务
spoolsv.exe 将文件加载到内存中以便迟后打印。(系统服务)
explorer.exe 资源管理器
internat.exe 托盘区的拼音图标
mstask.exe 允许程序在指定时间运行。(系统服务)
regsvc.exe 允许远程注册表操作。(系统服务)
winmgmt.exe 提供系统管理信息(系统服务)
inetinfo.exe 通过 Internet 信息服务的管理单元提供 FTP 连接和管理。(系统服务)
tlntsvr.exe 允许远程用户登录到系统并且使用命令行运行控制台程序。(系统服务)
tftpd.exe 实现 TFTP Internet 标准。该标准不要求用户名和密码。远程安装服务的一部分。(系统服务)
termsrv.exe 提供多会话环境允许客户端设备访问虚拟的 Windows 2000
(开机如果在事件查看器中发现termsrv的错误,在终端服务配置中禁用打印机、LPT端口映射即可)
Professional 桌面会话以及运行在服务器上的基于 Windows 的程序。(系统服务)
dns.exe 应答对域名系统(DNS)名称的查询和更新请求。(系统服务)
taskkill命令
- 需要搭配tasklist 查询操作进行执行
简介
- taskkill`是一个 Windows 命令,用于终止一个或多个任务(进程)。它可以根据进程 ID(PID)、进程名称或窗口标题来终止进程。这在需要强制关闭无响应的程序或批量关闭某些特定程序时非常有用。
帮助文档
TASKKILL [/S system [/U username [/P [password]]]]
{ [/FI filter] [/PID processid | /IM imagename] } [/T] [/F]
描述:
使用该工具按照进程 ID (PID) 或映像名称终止任务。
参数列表:
/S system 指定要连接的远程系统。
/U [domain\]user 指定应该在哪个用户上下文执行这个命令。
/P [password] 为提供的用户上下文指定密码。如果忽略,提示
输入。
/FI filter 应用筛选器以选择一组任务。
允许使用 "*"。例如,映像名称 eq acme*
/PID processid 指定要终止的进程的 PID。
使用 TaskList 取得 PID。
/IM imagename 指定要终止的进程的映像名称。通配符 '*'可用来
指定所有任务或映像名称。
/T 终止指定的进程和由它启用的子进程。
/F 指定强制终止进程。
/? 显示帮助消息。
筛选器:
筛选器名 有效运算符 有效值
STATUS eq, ne RUNNING |
NOT RESPONDING | UNKNOWN
IMAGENAME eq, ne 映像名称
PID eq, ne, gt, lt, ge, le PID 值
SESSION eq, ne, gt, lt, ge, le 会话编号。
CPUTIME eq, ne, gt, lt, ge, le CPU 时间,格式为
hh:mm:ss。
hh - 时,
mm - 分,ss - 秒
MEMUSAGE eq, ne, gt, lt, ge, le 内存使用量,单位为 KB
USERNAME eq, ne 用户名,格式为 [domain\]user
MODULES eq, ne DLL 名称
SERVICES eq, ne 服务名称
WINDOWTITLE eq, ne 窗口标题
说明
1) 只有在应用筛选器的情况下,/IM 切换才能使用通配符 '*'。
2) 远程进程总是要强行 (/F) 终止。
3) 当指定远程机器时,不支持 "WINDOWTITLE" 和 "STATUS" 筛选器。
例如:
TASKKILL /IM notepad.exe
TASKKILL /PID 1230 /PID 1241 /PID 1253 /T
TASKKILL /F /IM cmd.exe /T
TASKKILL /F /FI “PID ge 1000” /FI “WINDOWTITLE ne untitle*”
TASKKILL /F /FI “USERNAME eq NT AUTHORITY\SYSTEM” /IM notepad.exe
TASKKILL /S system /U 域\用户名 /FI “用户名 ne NT*” /IM *
TASKKILL /S system /U username /P password /FI “IMAGENAME eq note*”
使用
- 基本语法是
taskkill [/S system [/U username [/P [password]]]] {[/FI filter] [/PID processid | /IM imagename]}
- [/S system]:指定要连接的远程系统。如果省略这个参数,命令将在本地系统上运行。
- [/U username]:指定在远程系统上使用的用户账户。
- [/P [password]]:指定用户账户的密码。如果使用了 / U 参数但省略了 / P 参数,系统会提示输入密码。
- {[/FI filter]:指定筛选条件,用于选择要终止的进程。例如,可以根据进程状态、进程名称等条件进行筛选。
- [/PID processid | /IM imagename]:/PID 参数用于指定要终止的进程的 ID,/IM 参数用于指定要终止的进程的映像名称(即程序文件名)。可以同时使用这两个参数来更精确地选择要终止的进程。
示例
- 通过进程名称终止进程
- 例如,要终止所有名为 “notepad.exe”(记事本程序)的进程,可以在命令提示符中输入:
taskkill /IM notepad.exe
。如果有多个记事本程序在运行,这个命令会将它们全部关闭。
- 例如,要终止所有名为 “notepad.exe”(记事本程序)的进程,可以在命令提示符中输入:
- 通过进程 ID 终止进程
- 首先,需要获取进程的 ID。可以使用
tasklist
命令来查看进程 ID。假设要关闭进程 ID 为 1234 的进程,可以输入:taskkill /PID 1234
。
- 首先,需要获取进程的 ID。可以使用
- 使用筛选条件终止进程
- 例如,要终止所有正在运行且用户名为 “Administrator” 的 “calc.exe”(计算器程序)进程,可以使用以下命令:
taskkill /FI "USERNAME eq Administrator" /FI "IMAGENAME eq calc.exe"
。这里的/FI
参数用于设置筛选条件,eq
表示 “等于”,可以使用其他比较运算符如ne
(不等于)、gt
(大于)、lt
(小于)等来设置不同的筛选条件。
- 例如,要终止所有正在运行且用户名为 “Administrator” 的 “calc.exe”(计算器程序)进程,可以使用以下命令:
start命令
简介
- 在 Windows 命令中,
start
命令主要用于启动一个新的窗口来运行指定的程序或命令。它提供了一种方便的方式来打开文件、运行应用程序、打开文件夹以及执行批处理文件等多种操作。
帮助文档
START [“title”] [/D path] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
[/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
[/NODE ] [/AFFINITY ] [/WAIT] [/B]
[/MACHINE <x86|amd64|arm|arm64>][command/program] [parameters]
"title" 在窗口标题栏中显示的标题。
path 启动目录。
B 启动应用程序,但不创建新窗口。
应用程序已忽略 ^C 处理。除非应用程序
启用 ^C 处理,否则 ^Break 是唯一可以中断
该应用程序的方式。
I 新的环境将是传递
给 cmd.exe 的原始环境,而不是当前环境。
MIN 以最小化方式启动窗口。
MAX 以最大化方式启动窗口。
SEPARATE 在单独的内存空间中启动 16 位 Windows 程序。
SHARED 在共享内存空间中启动 16 位 Windows 程序。
LOW 在 IDLE 优先级类中启动应用程序。
NORMAL 在 NORMAL 优先级类中启动应用程序。
HIGH 在 HIGH 优先级类中启动应用程序。
REALTIME 在 REALTIME 优先级类中启动应用程序。
ABOVENORMAL 在 ABOVENORMAL 优先级类中启动应用程序。
BELOWNORMAL 在 BELOWNORMAL 优先级类中启动应用程序。
NODE 将首选非一致性内存结构(NUMA)
节点指定为十进制整数。
AFFINITY 将处理器关联掩码指定为十六进制数字。
使用
- 基本语法为
start ["title"] [/d path] [/i] [/min] [/max] [/separate | /shared] [/low | /normal | /high | /realtime | /abovenormal | /belownormal] [/wait] [/b] [filename] [parameters]
。 "title"
:是一个可选参数,用于指定在命令提示符窗口标题栏中显示的标题。如果标题包含空格,需要用双引号将其括起来。/d path
:指定启动目录。当启动一个程序时,该程序会将此目录视为当前工作目录。/i
:将传递给CMD.EXE
的环境变量传递给新的命令提示符窗口。这在需要继承当前环境变量设置时很有用。/min
:以最小化窗口的方式启动程序。例如,start /min notepad.exe
会以最小化的方式打开记事本程序。/max
:以最大化窗口的方式启动程序。/separate
或/shared
:这两个参数主要用于在不同的内存空间启动 16 - bit 程序(/separate
)或在共享内存空间启动 16 - bit 程序(/shared
)。在现代的 32 位和 64 位 Windows 系统中,对 16 - bit 程序的支持已经较少,这两个参数的使用场景也相应减少。/low
、/normal
、/high
、/realtime
、/abovenormal
、/belownormal
:这些参数用于指定新启动程序的优先级。例如,/high
会以高优先级启动程序,不过需要注意的是,高优先级可能会占用更多系统资源,影响其他程序的运行。/wait
:使start
命令等待启动的程序或命令结束后再返回。这在需要确保一个程序完全执行完毕后再进行后续操作时很有用。/b
:在不创建新窗口的情况下启动程序。这个参数在启动一些不需要单独窗口显示的命令或程序时比较方便,例如,start /b dir
会在当前窗口中执行dir
命令(显示目录内容),而不会另外打开一个窗口。filename
:是要启动的程序、文件、文件夹或批处理文件等的名称。例如,start notepad.exe
用于启动记事本程序,start myfolder
可以打开名为myfolder
的文件夹(如果myfolder
是一个有效的文件夹名称)。parameters
:是传递给要启动的程序的参数。不同的程序可能接受不同的参数,例如,对于记事本程序notepad.exe
,可以使用参数来打开指定的文件,如start notepad.exe myfile.txt
会启动记事本并打开myfile.txt
文件。
示例
- 启动应用程序
- 要启动记事本程序,在命令提示符中输入
start notepad.exe
。这将打开一个新的记事本窗口。
- 要启动记事本程序,在命令提示符中输入
- 打开文件
- 假设你有一个名为
document.docx
的 Word 文档,你可以使用start document.docx
来打开它。系统会根据文件关联自动启动相应的应用程序(如 Microsoft Word)来打开该文件。
- 假设你有一个名为
- 打开文件夹
- 要打开名为
C:\Users\YourName\Documents
的文件夹,可以输入start "My Documents" /d "C:\Users\YourName\Documents"
。这里的"My Documents"
是窗口标题,/d
参数指定了文件夹路径。
- 要打开名为
- 以最小化或最大化方式启动程序
- 以最小化方式启动画图程序可以使用
start /min mspaint.exe
,以最大化方式启动可以使用start /max mspaint.exe
。
- 以最小化方式启动画图程序可以使用
- 设置程序优先级启动
- 若要以高优先级启动一个比较占用资源的程序,如视频编辑软件,假设软件可执行文件名为
videoeditor.exe
,可以使用start /high videoeditor.exe
。不过,如前面提到的,使用高优先级要谨慎,因为可能会影响系统的整体性能。
- 若要以高优先级启动一个比较占用资源的程序,如视频编辑软件,假设软件可执行文件名为