微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

是否有 C++ 函数来暂停恢复子进程?

如何解决是否有 C++ 函数来暂停恢复子进程?

有没有办法使用 C++ 挂起和恢复进程?今天,我创建了一个迷你 shell,它会停止一些后台进程来执行一个新的前台进程。 谢谢,

解决方法

没有。 C++ 语言完全不知道进程的概念,因此也不知道子进程的概念,因此没有任何函数1直接与进程交互。

1 除了 std::system 继承自 C 标准库,它以实现定义的方式将字符串传递给主机系统的命令处理器,并且在实践中通常通过创建子流程实现。

,

你在标签中提到了 Powershell,所以我假设是 Windows。

如果你有一个进程的句柄,那么你可以对那个进程做一些事情。您可以执行的操作列表记录在 MSDN 中。在这种情况下,您需要获取进程中各个线程的句柄,以便您可以挂起线程:https://docs.microsoft.com/en-us/windows/win32/procthread/suspending-thread-execution

在 POSIX 中执行此操作要容易一些。您只需要向目标进程发送一个 SIGSTOP 信号。然后它及其所有线程将停止运行,直到您发送 SIGCONT。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。