我想编写一个程序,它将启动一个子进程。子进程可能是 windows 模式或控制台模式程序。
我想监控子进程状态和资源使用情况。例如,我想知道子进程仍在运行或终止。如果它终止了,我想知道原因(是正常终止还是因为崩溃?)。
在子进程运行和/或终止期间,我想知道它的资源使用情况,尤其是 CPU 时间(用户时间、系统)和内存使用情况(虚拟大小和/或 rss)。如果数字不是很准确也没关系。
在 Unix 术语中,我想 fork、exec、waitpid 和 getrusage。而fork+setrusage+exec可以限制child的资源使用。但我不知道如何在 Windows 平台上执行这些操作。
请指出 Windows API 名称。我可以自己研究其余的。
最好不要使用 Windows API 以外的库。最好它不是作为调试器工作并附加到子进程的父进程。只是不喜欢,但仍然可以接受。