使用Win32 API只能使用SuspendThread()挂起一个线程,但在一个调用中不能完成一个进程。
迭代一个进程线程并一次挂起一个进程并不是一个好的select,因为它可能导致死锁和意外的行为。
这应该是在内核中使用来自DDK的函数(我不记得它的名字)是可能的。
有没有其他的方式来实现这一点,而不去内核?
SysInternals进程资源pipe理器有一个选项来暂停进程。 它是如何做到的?
暂时挂起PC操作系统
将文本作为input传递给命令后,在批处理脚本中暂停
我怎样才能在Python中捕捉系统暂停事件?
暂停执行远程进程(C,Windows)
Linux的重启()系统调用:为什么在kernel_halt()之后调用do_exit(0)?
Windows SuspendThread不? (Getthreadcontext失败)
i.MX35从IRAM挂起cpu和DDR2
设置挂起超时交叉窗口pipe理器
是否有任何Win32 API在Windows中触发hibernate或挂起模式?
如何确定虚拟服务器是否被主机使用C#挂起
未标记的函数ntdll.dll中的NtSuspendProcess听起来像你正在寻找。 Sysinternals pssuspend和进程管理器都利用这个。
通常关于无证函数的警告适用。
这个答案有更多的细节: 我怎样才能冻结一个程序的执行?
事实上,这正是MiniDumpWriteDump所做的 – 它在创建转储之前单独挂起进程中的所有线程(调用线程除外)。
这本身不应该导致僵局或意外的行为,但显然它可能是最好从一个单独的过程做到这一点。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。