Example #1
0
/* Return parent process daemon state */
int
keepalived_running(unsigned long mode)
{
	if (process_running(main_pidfile))
		return 1;
	if (__test_bit(DAEMON_VRRP, &mode) && process_running(vrrp_pidfile))
		return 1;
	if (__test_bit(DAEMON_CHECKERS, &mode) && process_running(checkers_pidfile))
		return 1;
	return 0;
}
Example #2
0
/* Return parent process daemon state */
int
keepalived_running(int mode)
{
	if (process_running(main_pidfile))
		return 1;
	else if (mode & 1 || mode & 2)
		return process_running((mode & 1) ? vrrp_pidfile :
				       checkers_pidfile);

	if (process_running(vrrp_pidfile) ||
	    process_running(checkers_pidfile))
		return 1;
	return 0;
}
Example #3
0
static void
clean_temp_dirs () {
  bool err= false;
  array<string> a= read_directory (main_tmp_dir, err);
#ifndef __MINGW32__
  for (int i=0; i<N(a); i++)
    if (is_int (a[i]))
      if (!process_running (as_int (a[i])))
        if (a[i] != as_string ((int) getpid ()))
          system ("rm -rf", url (main_tmp_dir) * url (a[i]));
#else
  /* delete the directories after 7 days */
  time_t ts = as_int (basename (url_temp_dir_sub ())) - (3600 * 24 * 7 );
  for (int i=0; i<N(a); i++)     
    if (is_int (a[i])) {
      time_t td= as_int (a[i]);
      if (td < ts) {
        url cur = url (main_tmp_dir) * url (a[i]);
        array<string> f= read_directory (cur, err);
        for (int j=0; j<N(f); j++) remove (cur * url (f[j]));
        _rmdir (as_charp (as_string (cur)));
      }
    }
#endif
}
Example #4
0
/**
 * Free Fibre Channel ELS transaction
 *
 * @v refcnt		Reference count
 */
static void fc_els_free ( struct refcnt *refcnt ) {
    struct fc_els *els = container_of ( refcnt, struct fc_els, refcnt );

    assert ( ! process_running ( &els->process ) );
    fc_port_put ( els->port );
    free ( els );
}
void create_process(string path, string name, bool show_window, bool is_app, bool partial)
{ 
#ifdef _WIN32
    PROCESS_INFORMATION ProcessInfo;
    STARTUPINFO StartupInfo;
    ZeroMemory(&StartupInfo, sizeof(StartupInfo));
    StartupInfo.cb = sizeof(StartupInfo);

    if (show_window)
        CreateProcess(path.c_str(), NULL, NULL, NULL, FALSE, REALTIME_PRIORITY_CLASS, NULL, NULL, &StartupInfo, &ProcessInfo);
    else
        CreateProcess(path.c_str(), NULL, NULL, NULL, FALSE,
                      REALTIME_PRIORITY_CLASS | CREATE_NO_WINDOW, NULL, NULL, &StartupInfo, &ProcessInfo);

    CloseHandle(ProcessInfo.hThread);
    CloseHandle(ProcessInfo.hProcess);

#elif __APPLE__
    string command;
    if (!is_app)
        command = path + " &";
    else
        command = "open " + path;

    COUT << command << endl;

    system(command.c_str());
#endif

    while (process_running(name.c_str(), partial) == 0)
        Sleep(100);
}
void kill_process(string name)
{
#ifdef _WIN32
    CHAR szProcBuff[101];
    DWORD pIDs[300], dwBytesReturned;
    HANDLE hProcess;
    INT i, procCount;

    EnumProcesses(pIDs, sizeof(pIDs), &dwBytesReturned);
    procCount = dwBytesReturned / sizeof(DWORD);

    for (i = 0; i < procCount; i++)
        if (pIDs[i] != 0)
        {
            hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ | PROCESS_TERMINATE, 0, pIDs[i]);
            GetModuleBaseName(hProcess, 0, szProcBuff, 100);

            if (strcmp(szProcBuff, name.c_str()) == 0)
                TerminateProcess(hProcess, EXIT_SUCCESS);

            CloseHandle(hProcess);
        }

#elif __APPLE__
        string command = "killall -kill " + name;
        system(command.c_str());
#endif

    while (process_running(name.c_str()) > 0)
        Sleep(1);
}
Example #7
0
static void
processes_kill(int sig)
{
    for (int i = 0; i < num_processes; i++) {
	bench_process_t *p = processes + i;
	if (process_running(p))
	    process_kill(p, sig);
    }
}
Example #8
0
//fungsi utama
int main (void) {
	
	//inisialisasi HAL (Hardware Abstraction Layer)
	halInit();
	
	//inisialisasi kernel
	chSysInit();
	
	Adc_Init();
	
	process_running();
	
	//inisialisasi CAN
	CAN_Config();
	
	// serial
	sdStart(&SD2,NULL);  
    palSetPadMode(GPIOB,3, PAL_MODE_ALTERNATE(7)); //TX
    palSetPadMode(GPIOB,4, PAL_MODE_ALTERNATE(7)); //RX

    sdStart(&SD1,NULL);
    palSetPadMode(GPIOA,9, PAL_MODE_ALTERNATE(7)); //TX
    palSetPadMode(GPIOA,10, PAL_MODE_ALTERNATE(7)); //RX

    sdStart(&SD3,NULL);
    palSetPadMode(GPIOB,10, PAL_MODE_ALTERNATE(7)); //TX
    palSetPadMode(GPIOE,15, PAL_MODE_ALTERNATE(7)); //RX
    
	//inisialisasi USB
	sduObjectInit(&SDU1);
    sduStart(&SDU1, &serusbcfg);
    
    //aktifasi USB
    usbDisconnectBus(serusbcfg.usbp);
    chThdSleepMilliseconds(200);
    usbStart(serusbcfg.usbp, &usbcfg);
    usbConnectBus(serusbcfg.usbp);
	
	//thread 1
	chThdCreateStatic(waBacavolt, sizeof(waBacavolt), NORMALPRIO, Bacavolt, NULL);
	chThdCreateStatic(waBacacurrent, sizeof(waBacacurrent), NORMALPRIO, Bacacurrent, NULL);
	chThdCreateStatic(waThreadBMS, sizeof(waThreadBMS), NORMALPRIO, ThreadBMS, NULL);
	//chThdCreateStatic(waThreadkirimjoule, sizeof(waThreadkirimjoule), NORMALPRIO, Threadkirimjoule, NULL);
	//chThdCreateStatic(waThreadkirimjoule2, sizeof(waThreadkirimjoule2), NORMALPRIO, Threadkirimjoule2, NULL);


while(TRUE) {
	kirim_data_usart1();
    chprintf((BaseSequentialStream *)&SD1,"%d,%f,%d,%d,%f,%f,%d,%d,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%d,%d,%d,%d \n",avgtemp,packsoc,packDCL,packCCL,lowvoltcell,highvoltcell,hightemp,lowtemp,packcurrent,packvolt,amphours,supply12v, deltacellvolt,avgcellvolt,mppt1_v,mppt2_v,mppt3_v,mppt4_v,mppt5_v,mppt6_v,mppt7_v,mppt8_v,mppt9_v,mppt10_v,mppt11_v,mppt12_v,mppt13_v,mppt15_v,mppt16_v, mppt1_i, mppt2_i, mppt3_i, mppt4_i, mppt5_i, mppt6_i, mppt7_i,mppt8_i, mppt9_i, mppt10_i, mppt11_i, mppt12_i, mppt13_i, mppt14_i, mppt15_i,current1,current2,current3,voltage1,voltage2,voltage3,milidetik,detik,menit,jam);
    //chprintf((BaseSequentialStream *)&SDU1,"%d,%f,%d,%d,%f,%f,%d,%d,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f \n",avgtemp,packsoc,packDCL,packCCL,lowvoltcell,highvoltcell,hightemp,lowtemp,packcurrent,packvolt,amphours,supply12v, deltacellvolt,avgcellvolt,mppt1_v,mppt2_v,mppt3_v,mppt4_v,mppt5_v,mppt6_v,mppt7_v,mppt8_v,mppt9_v,mppt10_v,mppt11_v,mppt12_v,mppt13_v,mppt15_v,mppt16_v, mppt1_i, mppt2_i, mppt3_i, mppt4_i, mppt5_i, mppt6_i, mppt7_i,mppt8_i, mppt9_i, mppt10_i, mppt11_i, mppt12_i, mppt13_i, mppt14_i, mppt15_i);
    //chprintf((BaseSequentialStream *)&SDU1,"%x %x %x %x %x %x %x %x \n",RxMessage33.StdId, RxMessage44.StdId, RxMessage55.StdId, RxMessage66.StdId, RxMessage77.StdId, RxMessage88.StdId, RxMessage99.StdId, RxMessage11.StdId); 
    //chprintf((BaseSequentialStream *)&SD1,"tes \n");
    chThdSleepMilliseconds(500);
}
   return 0 ;
}	
Example #9
0
static int
processes_running()
{
    int count = 0;

    for (int i = 0; i < num_processes; i++) {
	bench_process_t *p = processes + i;
	if (process_running(p))
	    ++count;
    }

    return count;
}
Example #10
0
void print_found_files(FILE *output, const char *list)
{
	const char *p=list;
	bool detected=false;

	while(*p)
	{
		if(process_running(p))
		{
			fprintf(output,"%s ",p);
			detected=true;
		}
		p+=strlen(p)+1;
	}
	if(!detected)
		fprintf(output,"(none)");
	fprintf(output,"\n");
}
Example #11
0
static void
handle_fatal_signal(int sig, siginfo_t *si, void *_ucontext)
{
#define WRITE_TXT(t) write(STDERR_FILENO, t, sizeof(t) - 1)

    WRITE_TXT("Caught fatal signal, terminating child processes\n");
    for (int i = 0; i < num_processes; i++) {
	bench_process_t *p = processes + i;
	if (process_running(p))
            if (kill(-p->pid, SIGTERM) == -1)
                WRITE_TXT("Warning: Failed to terminate a child process\n");
    }

    WRITE_TXT("Passing signal to default handler...\n");
    raise(si->si_signo);

    WRITE_TXT("Failed to pass signal to default handler, aborting\n");
    abort();

#undef WRITE_TXT
}