杀死Windows系统进程有几种方法

系统 Windows
Windows操作系统中只有System、SMSS.EXE和CSRSS.EXE不能杀。前两个是纯内核态的,最后那个是Win32子系统,ntsd本身需要它。ntsd从2000开始就是系统自带的用户态调试工具。

进程是程序在计算机上的一次执行活动。当你运行一个程序,你就启动了一个进程。显然,程序是死的(静态的),进程是活的(动态的)。进程可以分为系统进程和用户进程。凡是用于完成操作系统的各种功能的进程就是系统进程,它们就是处于运行状态下的操作系统本身;用户进程就是所有由你启动的进程。进程是操作系统进行资源分配的单位。有些进程我们通过“任务管理器”是不能结束的,如果遇到木马怎么办呢?我们可以强行结束这个进程,请看下面介绍的技巧。

Windows操作系统中只有System、SMSS.EXE和CSRSS.EXE不能杀。前两个是纯内核态的,最后那个是Win32子系统,ntsd本身需要它。ntsd从2000开始就是系统自带的用户态调试工具。被调试器附着(attach)的进程会随调试器一起退出,所以可以用来在命令行下终止进程。使用ntsd自动就获得了debug权限,从而能杀掉大部分的进程。ntsd会新开一个调试窗口,本来在纯命令行下无法控制,但如果只是简单的命令,比如退出(q),用-c参数从命令行传递就行了。NtsdNtsd 按照惯例也向软件开发人员提供。只有系统开发人员使用此命令。有关详细信息,请参阅 NTSD 中所附的帮助文件。用法:开个cmd.exe窗口,输入:

ntsd -c q -p PID

把最后那个PID,改成你要终止的进程的ID。如果你不知道进程的ID,任务管理器->进程选项卡->查看->选择列->勾上"PID(进程标识符)",然后就能看见了。

XP下还有两个好用的工具tasklist和tskill。tasklist能列出所有的进程,和相应的信息。tskill能查杀进程,语法很简单:tskill 程序名。   1 Linux进程的睡眠和唤醒

在Linux中,仅等待CPU时间的进程称为就绪进程,它们被放置在一个运行队列中,一个就绪进程的状态标志位为TASK_RUNNING。一旦一个运行中的进程时间片用完, Linux 内核的调度器会剥夺这个进程对CPU的控制权,并且从运行队列中选择一个合适的进程投入运行。

当然,一个进程也可以主动释放CPU的控制权。函数 schedule()是一个调度函数,它可以被一个进程主动调用,从而调度其它进程占用CPU。一旦这个主动放弃CPU的进程被重新调度占用 CPU,那么它将从上次停止执行的位置开始执行,也就是说它将从调用schedule()的下一行代码处开始执行。

有时候,进程需要等待直到某个特定的事件发生,例如设备初始化完成、I/O 操作完成或定时器到时等。在这种情况下,进程则必须从运行队列移出,加入到一个等待队列中,这个时候进程就进入了睡眠状态。

责任编辑:冰凝儿 来源: 中国IT实验室
相关推荐

2014-08-22 15:50:52

WindowsLinux

2018-09-29 11:02:52

WindowsLinux互访

2021-06-08 11:42:12

Pandas数据分析Python

2010-04-19 09:08:20

Unix操作系统

2009-03-02 17:49:21

LinuxUbuntu轻松截图

2009-03-05 09:35:18

LinuxUbuntu截图

2009-12-15 18:27:51

Linux操作系统

2010-06-03 08:55:43

LINQ

2013-08-21 11:31:21

iPhone图片方法

2010-05-17 15:17:06

MySQL常用操作

2009-09-18 12:29:55

2020-11-20 07:22:48

Windows10

2020-03-24 09:06:45

Java对象大小

2010-08-26 09:16:42

Web服务器

2020-08-24 08:05:47

JavaScriptJavaScript 页面

2020-01-10 16:23:44

Springboot停止服务Java

2009-09-09 11:24:46

PHP实现MVC

2021-02-26 13:20:48

Shell空行Linux

2011-06-16 10:48:33

session

2009-08-31 09:19:31

c#隐藏窗口
点赞
收藏

51CTO技术栈公众号