libs/stream_message/src/startprocess.cxx
// ===========================================================================
// if processgroup is set the whole process group is terminated 
if processgroup is set the whole process group is terminated
if processgroup is set the whole process group is terminated
void MBDriver::terminate_process(MBDriver::pid_t pid, bool processgroup) {
    if (pid != null_pid) {
#ifdef _WIN32
        if (processgroup)
            terminate_processgroup();
	else 
	    TerminateProcess(pid, 0);
	CloseHandle(pid);
#else
	if (processgroup)
	    kill(-pid, SIGTERM);
	else
	    kill(pid, SIGTERM);
#endif
    }
}
void MBDriver :: terminate_process ( MBDriver :: pid_t pid , bool processgroup ) { if ( pid != null_pid ) { #ifdef _WIN32 if ( processgroup ) terminate_processgroup ( ) ; else TerminateProcess ( pid , 0 ) ; CloseHandle ( pid ) ; #else if ( processgroup ) kill ( - pid , SIGTERM ) ; else kill ( pid , SIGTERM ) ; #endif } }
if processgroup is set the whole process group is terminated
if processgroup is set the whole process group is terminated