我正在寻找不同的方法来通过Windows XP下的进程ID以编程方式暂停和恢复特定进程.
Process suspend/resume tool使用SuspendThread / ResumeThread,但警告多线程程序和死锁问题.
PsSuspend看起来没问题,但我想知道它是否对死锁做了什么特别的事情或使用其他方法?
首选语言:C / Python
如果您“调试调试器”(例如,使用logger.exe跟踪windbg.exe发出的所有API调用),则调试器似乎使用SuspendThread()/ ResumeThread()来挂起进程中的所有线程调试.
PsSuspend可能使用不同的方式暂停进程(我不确定),但仍然可以挂起其他进程:如果您要挂起的进程持有另一个进程需要的共享同步对象,则可能会阻塞从中取得任何进展的其他过程.如果两个程序都写得很好,那么当你恢复暂停的程序时它们应该恢复,但并非所有程序都写得很好.如果这导致正在执行挂起的程序挂起,那么就会出现死锁.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。