#include "stdafx.h" #include "ace/Log_Msg.h" #include "ace/OS_NS_unistd.h" #include "ace/Process_Manager.h" #define NUM_PROCESSES 4 int ACE_TMAIN(int argc, ACE_TCHAR* argv[]) { //获得进程管理器 ACE_Process_Manager* pm = ACE_Process_Manager::instance(); //创建一个option,通option设置进程的一些属性 ACE_Process_Options options; options.command_line(ACE_TEXT("notepad.exe 1.txt")); pid_t pids[NUM_PROCESSES]; for (int i = 0; i < NUM_PROCESSES;i++) { //设置命令行参数,启动记事本程序 options.command_line(ACE_TEXT("notepad.exe %d.txt"),i); //生成一个进程 pids[i] = pm->spawn(options); } //等待所有的进行执行完毕后才退出父进程。 pm->wait(); return 0; } 使用ACE的进程管理器(ACE_Process_Manager和ACE_Process_Options创建子进程,病等待所有的子进程执行完毕后,父进程才退出。