process_manager_spawn.cpp
来自「ace开发环境 用来开发网络程序 其运用了设计模式、多平台、C++等多种知识」· C++ 代码 · 共 60 行
CPP
60 行
// $Id: Process_Manager_Spawn.cpp 55222 2004-01-07 22:40:17Z shuston $#include "ace/OS_NS_unistd.h"#include "ace/Log_Msg.h"// Listing 0 code/ch10#include "ace/Process_Manager.h"static const int NCHILDREN = 2;int ACE_TMAIN (int argc, ACE_TCHAR *argv[]){ if (argc > 1) // Running as a child. { ACE_OS::sleep (10); } else // Running as a parent. { // Get the processwide process manager. ACE_Process_Manager* pm = ACE_Process_Manager::instance (); // Specify the options for the new processes // to be spawned. ACE_Process_Options options; options.command_line (ACE_TEXT ("%s a"), argv[0]); // Spawn two child processes. pid_t pids[NCHILDREN]; pm->spawn_n (NCHILDREN, options, pids); // Destroy the first child. pm->terminate (pids[0]); // Wait for the child we just terminated. ACE_exitcode status; pm->wait (pids[0], &status); // Get the results of the termination.#if !defined(ACE_WIN32) if (WIFSIGNALED (status) != 0) ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%d died because of a signal ") ACE_TEXT ("of type %d\n"), pids[0], WTERMSIG (status)));#else ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("The process terminated with exit code %d\n"), status));#endif /*ACE_WIN32*/ // Wait for all (only one left) of the // children to exit. pm->wait (0); } return 0;}// Listing 0
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?