示例#1
0
 void KillMongoProgramInstances() {
     vector< int > ports;
     registry.getRegisteredPorts( ports );
     for( vector< int >::iterator i = ports.begin(); i != ports.end(); ++i )
         killDb( *i, ProcessId::fromNative(0), SIGTERM );
     vector< ProcessId > pids;
     registry.getRegisteredPids( pids );
     for( vector< ProcessId >::iterator i = pids.begin(); i != pids.end(); ++i )
         killDb( 0, *i, SIGTERM );
 }
示例#2
0
文件: shell_utils.cpp 项目: jit/mongo
 void KillMongoProgramInstances() {
     vector< int > ports;
     for( map< int, pair< pid_t, int > >::iterator i = dbs.begin(); i != dbs.end(); ++i )
         ports.push_back( i->first );
     for( vector< int >::iterator i = ports.begin(); i != ports.end(); ++i )
         killDb( *i, 0, SIGTERM );            
     vector< pid_t > pids;
     for( map< pid_t, int >::iterator i = shells.begin(); i != shells.end(); ++i )
         pids.push_back( i->first );
     for( vector< pid_t >::iterator i = pids.begin(); i != pids.end(); ++i )
         killDb( 0, *i, SIGTERM );
 }
void KillMongoProgramInstances() {
    vector<ProcessId> pids;
    registry.getRegisteredPids(pids);
    for (auto&& pid : pids) {
        killDb(0, pid, SIGTERM);
    }
}
示例#4
0
 BSONObj StopMongoProgramByPid( const BSONObj &a, void* data ) {
     verify( a.nFields() == 1 || a.nFields() == 2 );
     uassert( 15852 , "stopMongoByPid needs a number" , a.firstElement().isNumber() );
     ProcessId pid = ProcessId::fromNative(int( a.firstElement().number() ));
     int code = killDb( 0, pid, getSignal( a ) );
     log() << "shell: stopped mongo program on pid " << pid << endl;
     return BSON( "" << (double)code );
 }
示例#5
0
文件: shell_utils.cpp 项目: jit/mongo
 BSONObj StopMongoProgramByPid( const BSONObj &a ) {
     assert( a.nFields() == 1 || a.nFields() == 2 );
     assert( a.firstElement().isNumber() );
     int pid = int( a.firstElement().number() );            
     int code = killDb( 0, pid, getSignal( a ) );
     cout << "shell: stopped mongo program on pid " << pid << endl;
     return BSON( "" << code );
 }
示例#6
0
 /** stopMongoProgram(port[, signal]) */
 BSONObj StopMongoProgram( const BSONObj &a, void* data ) {
     assert( a.nFields() == 1 || a.nFields() == 2 );
     uassert( 15853 , "stopMongo needs a number" , a.firstElement().isNumber() );
     int port = int( a.firstElement().number() );
     int code = killDb( port, 0, getSignal( a ) );
     cout << "shell: stopped mongo program on port " << port << endl;
     return BSON( "" << (double)code );
 }
示例#7
0
文件: utils.cpp 项目: alanw/mongo
 BSONObj StopMongoProgram( const BSONObj &a ) {
     assert( a.nFields() == 1 || a.nFields() == 2 );
     assert( a.firstElement().isNumber() );
     int port = int( a.firstElement().number() );
     killDb( port, 0, getSignal( a ) );
     cout << "shell: stopped mongo program on port " << port << endl;
     return undefined_;
 }        
示例#8
0
 /** stopMongoProgram(port[, signal]) */
 BSONObj StopMongoProgram( const BSONObj &a, void* data ) {
     int nFields = a.nFields();
     verify( nFields >= 1 && nFields <= 3 );
     uassert( 15853 , "stopMongo needs a number" , a.firstElement().isNumber() );
     int port = int( a.firstElement().number() );
     int code = killDb( port, ProcessId::fromNative(0), getSignal( a ), getStopMongodOpts( a ));
     log() << "shell: stopped mongo program on port " << port << endl;
     return BSON( "" << (double)code );
 }
示例#9
0
/** stopMongoProgram(port[, signal]) */
BSONObj StopMongoProgram(const BSONObj& a, void* data) {
    int nFields = a.nFields();
    uassert(ErrorCodes::FailedToParse, "wrong number of arguments", nFields >= 1 && nFields <= 3);
    uassert(ErrorCodes::BadValue, "stopMongoProgram needs a number", a.firstElement().isNumber());
    int port = int(a.firstElement().number());
    int code = killDb(port, ProcessId::fromNative(0), getSignal(a), getStopMongodOpts(a));
    log() << "shell: stopped mongo program on port " << port;
    return BSON("" << (double)code);
}
示例#10
0
int KillMongoProgramInstances() {
    vector<ProcessId> pids;
    registry.getRegisteredPids(pids);
    int returnCode = EXIT_SUCCESS;
    for (auto&& pid : pids) {
        int port = registry.portForPid(pid);
        int code = killDb(port != -1 ? port : 0, pid, SIGTERM);
        if (code != EXIT_SUCCESS) {
            returnCode = code;
        }
    }
    return returnCode;
}
示例#11
0
 int killDb( int port, ProcessId _pid, int signal ) {
     BSONObj dummyOpt;
     return killDb( port, _pid, signal, dummyOpt );
 }
示例#12
0
 int killDb( int port, pid_t _pid, int signal ) {
     BSONObj dummyOpt;
     return killDb( port, _pid, signal, dummyOpt );
 }