code: function forkWorker()
      {
          // 监听
          let worker_num = app.confRead( 'port.worker.num' ) || numCPUs;    
  
          let http_port = app.confRead( 'port.listen.http' ) || 9693;
  
          app.log(`expre cluster ${process.pid} listen on port ${http_port}, ${worker_num} worker starting...`);
  
          // 衍生工作进程
          for (let i = 0; i < worker_num; i++) {
              cluster.fork();
          }
          // 退出重启
          let delay_time = app.confRead( 'port.worker.delay' ) || 1; 
          cluster.on('exit', (worker, code, signal) => {
  
              app.log(`worker ${worker.process.pid} exit, after ${delay_time} sec forking...`);
  
              setTimeout(x=>{
                  cluster.fork(); // 重启一个
              }, delay_time * 1000);
          });
  
      }
docs: 创建子线程