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 ); }
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); } }
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 ); }
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 ); }
/** 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 ); }
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_; }
/** 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 ); }
/** 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); }
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; }
int killDb( int port, ProcessId _pid, int signal ) { BSONObj dummyOpt; return killDb( port, _pid, signal, dummyOpt ); }
int killDb( int port, pid_t _pid, int signal ) { BSONObj dummyOpt; return killDb( port, _pid, signal, dummyOpt ); }