示例#1
0
bool
OsProc::ShutdownGraceful()
{
	if ( is_suspended ) {
		Continue();
	}
	requested_exit = true;
	if ( findRmKillSig(JobAd) != -1 ) {
		daemonCore->Send_Signal(JobPid, rm_kill_sig);
	} else {
		daemonCore->Send_Signal(JobPid, soft_kill_sig);
	}
	return false;	// return false says shutdown is pending	
}
示例#2
0
void
UserProc::initKillSigs( void )
{
    int sig;

    sig = findSoftKillSig( JobAd );
    if( sig >= 0 ) {
        soft_kill_sig = sig;
    } else {
        soft_kill_sig = SIGTERM;
    }

    sig = findRmKillSig( JobAd );
    if( sig >= 0 ) {
        rm_kill_sig = sig;
    } else {
        rm_kill_sig = SIGTERM;
    }

    sig = findHoldKillSig( JobAd );
    if( sig >= 0 ) {
        hold_kill_sig = sig;
    } else {
        hold_kill_sig = SIGTERM;
    }

    const char* tmp = signalName( soft_kill_sig );
    dprintf( D_FULLDEBUG, "%s KillSignal: %d (%s)\n",
             name ? name : "Main job", soft_kill_sig,
             tmp ? tmp : "Unknown" );

    tmp = signalName( rm_kill_sig );
    dprintf( D_FULLDEBUG, "%s RmKillSignal: %d (%s)\n",
             name ? name : "Main job", rm_kill_sig,
             tmp ? tmp : "Unknown" );

    tmp = signalName( hold_kill_sig );
    dprintf( D_FULLDEBUG, "%s HoldKillSignal: %d (%s)\n",
             name ? name : "Main job", hold_kill_sig,
             tmp ? tmp : "Unknown" );
}