https://github.com/bitcoin/bitcoin/issues/15555#issuecomment-479346264
result.pushKV("active_commands", active_commands);
    return result;
}
static const CRPCCommand vRPCCommands[] =
{ 
  
    
    { "control",            "getrpcinfo",             &getrpcinfo,             {}  },
    { "control",            "help",                   &help,                   {"command"}  },
    { "control",            "stop",                   &stop,                   {"wait"}  },
    { "control",            "uptime",                 &uptime,                 {}  },
};
CRPCTable::CRPCTable()
{
    unsigned int vcidx;
    for (vcidx = 0; vcidx < (sizeof(vRPCCommands) / sizeof(vRPCCommands[0])); vcidx++)
    {
        const CRPCCommand *pcmd;
        pcmd = &vRPCCommands[vcidx];
        mapCommands[pcmd->name].push_back(pcmd);
    }
}
bool CRPCTable::appendCommand(const std::string& name, const CRPCCommand* pcmd)
{
    if (IsRPCRunning())
        return false;
    mapCommands[name].push_back(pcmd);
    return true;
}
bool CRPCTable::removeCommand(const std::string& name, const CRPCCommand* pcmd)