如何在Windows下暂停/恢复任何外部进程?

我正在寻找不同的方法来通过Windows XP下的进程ID以编程方式暂停和恢复特定进程.

Process suspend/resume tool使用SuspendThread / ResumeThread,但警告多线程程序和死锁问题.

PsSuspend看起来没问题,但我想知道它是否对死锁做了什么特别的事情或使用其他方法?

首选语言:C / Python

如果您“调试调试器”(例如,使用logger.exe跟踪windbg.exe发出的所有API调用),则调试器似乎使用SuspendThread()/ ResumeThread()来挂起进程中的所有线程调试.

PsSuspend可能使用不同的方式暂停进程(我不确定),但仍然可以挂起其他进程:如果您要挂起的进程持有另一个进程需要的共享同步对象,则可能会阻塞从中取得任何进展的其他过程.如果两个程序都写得很好,那么当你恢复暂停的程序时它们应该恢复,但并非所有程序都写得很好.如果这导致正在执行挂起的程序挂起,那么就会出现死锁.

相关文章

文章浏览阅读2.2k次,点赞6次,收藏20次。在我们平时办公工作...
文章浏览阅读1k次。解决 Windows make command not found 和...
文章浏览阅读3.2k次,点赞2次,收藏6次。2、鼠标依次点击“计...
文章浏览阅读1.3w次。蓝光版属于高清版的一种。BD英文全名是...
文章浏览阅读974次,点赞7次,收藏8次。提供了更强大的功能,...
文章浏览阅读1.4w次,点赞5次,收藏22次。如果使用iterator的...