我想杀死一个占用我处理器大约 30% 时间的特定线程。以下是 processhacker 的屏幕截图:
有时,当驾驶员EXT2FSD允许我读取 ext 分区的程序尝试读取文件系统已损坏的 USB。因此该进程在后台运行,我无法停止它(即使断开驱动器连接)。
有没有办法在 Windows 中停止特定线程?
答案1
某些受保护的进程(对操作系统的稳定性至关重要)无法由用户模式程序修改,即使是以管理员或帐户运行的程序也是如此SYSTEM
。因此,如果不编写内核模式驱动程序,您就无法终止甚至暂停系统进程的线程。进程探索器如果可以的话,“线程”选项卡会停止该线程,但是如果您尝试,您会发现它不能。
即使你可以终止线程,你也不应该这么做。线程可以在执行重要操作时持有资源的独占锁。如果一个线程在执行此类操作的过程中死亡,则进程中的所有其他线程可能会使该资源处于不一致的状态。进一步阅读:了解 WAIT_ABANDONED 的后果。这在标准用户模式进程中已经够糟糕了,但如果对操作系统内核这样做,后果将是灾难性的。
如果您想阻止该驱动程序使用您的计算机资源,您应该像卸载其他驱动程序一样卸载该驱动程序。