商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 系统应用 > windows系统进程终止方法详解

windows系统进程终止方法详解

  发布于2026-06-08 阅读(0)

扫一扫,手机访问

进程是程序在计算机上的一次执行活动。运行一个程序,就意味着启动了一个进程。说白了,程序是“死”的(静态的),而进程是“活”的(动态的)。进程可以分成系统进程和用户进程:系统进程负责完成操作系统的各种功能,本质上是正在运行的操作系统本身;用户进程则是你启动的所有程序。进程是操作系统分配资源的基本单位。有些进程在任务管理器里是没法直接结束的——比如疑似木马混进来了,怎么办?其实有技巧可以强行终止它。

Windows操作系统里,真正不能杀掉的进程只有System、SMSS.EXE和CSRSS.EXE。前两个是纯内核态进程,最后一个是Win32子系统,而ntsd命令本身依赖它。ntsd从Windows 2000开始就是系统自带的一个用户态调试工具。被调试器附着(attach)的进程会随着调试器一起退出,所以可以用它在命令行下终止进程。用ntsd自动获取debug权限,就能杀掉大部分进程。ntsd会新开一个调试窗口,本来在纯命令行下不太好控制,但如果只是简单的命令比如退出(q),用-c参数从命令行传递就行了。按照惯例,ntsd也向软件开发人员提供,不过系统管理员也可以用。具体操作:打开cmd.exe窗口,输入

ntsd -c q -p PID

把最后的PID换成你要终止的进程的ID。如果你不知道进程ID,可以在任务管理器→进程选项卡→查看→选择列→勾上“PID(进程标识符)”,就能看到了。

Windows XP下还有两个好用的工具:tasklisttskilltasklist能列出所有进程及其信息,tskill能查杀进程,语法很简单:tskill 程序名

Linux进程的睡眠和唤醒

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

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

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

本文转载于:https://www.jb51.net/os/80742.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注