win7 “ntsd”使用问题

win7 “ntsd”使用问题,第1张

从windows xp里面把c:\windows\system32\里面的ntsd.exe和 相关的配置文件拷到win 7的system32里面才可以用。

1.ntsd是一个用户态进程调试工具,从Windows 2000就开始答迹山被附随在州皮System32目录下。它能够结束除System、smss.exe、csrss.exe、lsass.exe及各种rootkit程序外所有的程序。但在Windows Vista及以上版本的Windows中不含ntsd,必须手动下载至电脑中才可使用。

2.Ntsd在Windows中只有System、smss.exe、csrss.exe、lsass.exe和一些rootkit程序不能杀。前两个是纯内核态的,第三个是Win32子系统,ntsd本身需要它。lsass.exe也不要杀掉,它是负责本清中地账户安全的。被调试器附着的进程会随调试器一起退出,所以可以用来在命令行下终止进程。

Windows XP/2000的任务管理器冲或是一个非常有用的工具,能让你看到系统中正在运行哪些程序(进程),只要你平时多看任务管理器中的进程列表,熟悉系统的基本进程,就可以随时发现可疑进程,这对防范散启伍木马和病毒大有裨益!不过有一些可疑进程,你用任务管理器却无法杀掉,这该怎么办呢?

一、哪些系统进程不能关掉

Windows运行的时候,会启动多个进程。只要你按下“Ctrl+Alt+Del”键打开任务管理器,点击“查看”/选择列,勾选“PIO(进程标识符)”,然后单击“进程”标签,即可看到这些进程(如下图1)。不过有一些进程个人用户根本用不到,例如Systray.exe(显示系统托盘小喇叭图标)、Ctfmon.exe(微软Office输入法)、Winampa.exe等,我们完全可以禁止它们,这样做并不会影响系统的正常运行。

二、如何关闭任务管理器杀不了的进程

如果你在任务管理器中无法关闭某个可疑进程,可以使用下面的方法强行关闭,注意不要杀掉进程表中的系统核心进程:

使用Windows XP/2000自带的工具

从Windows 2000开始,Windows系统就自带了一个用户态调试工具Ntsd,它能够杀掉大部分进程,因为被调试器附着的进程会随调试器一起退出,所以只要你在命令行下使用Ntsd调出某进程,然后退出Ntsd即可终止该进程,而且使用Ntsd会自动获得Debug权限,因此Ntsd能杀掉大部分的进程。

*** 作方法:单击“开始”/程序/附件/命令提示符,输入命令:ntsd -c q -p PID(把最后那个PID,改成你要旁姿终止的进程的.PID)。在进程列表中你可以查到某个进程的PID,例如我们要关闭图1中的Explorer.exe进程,输入:ntsd -c q -p 408即可。

以上参数-p表示后面跟随的是进程PID, -c q表示执行退出Ntsd的调试命令,从命令行把以上参数传递过去就行了。

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

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 *** 作完成或定时器到时等。在这种情况下,进程则必须从运行队列移出,加入到一个等待队列中,这个时候进程就进入了睡眠状态。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12559918.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存