int redireccion(char *cmd){ if(*cmd =='\0') return 1; char *s; s = strstr(cmd, "&&"); if(s == NULL){ if (*cmd =='\0') return 1; else { return ejecutar(cmd); } } else { char *buffer=malloc(sizeof(char) * 1024); strncpy ( buffer, cmd, s - cmd); if(ejecutar(buffer) == 1){ char *cmd2=s+2; return redireccion (cmd2); } else{ printf("Error process failed \n"); return 1; } } }
void tipo_Cod_Operacion (int32_t id, header_t* header){ sock_t* socketPlanificador=getSocketPlanificador(id); switch (get_operation_code(header)) { case ENVIO_QUANTUM:{ int32_t recibido = _receive_bytes(socketPlanificador, &quantum, sizeof(int32_t)); log_debug(loggerDebug,"CPU:%d recibio de Planificador codOperacion %d QUANTUM: %d",id, get_operation_code(header), quantum); if (recibido == ERROR_OPERATION || recibido == SOCKET_CLOSED)return; break; } case ENVIO_PCB:{ log_debug(loggerDebug,"CPU: %d recibio de Planificador codOperacion %d PCB",id, get_operation_code(header)); char* pedido_serializado = malloc(get_message_size(header)); int32_t recibido = _receive_bytes(socketPlanificador, pedido_serializado, get_message_size(header)); if(recibido == ERROR_OPERATION || recibido == SOCKET_CLOSED) { log_debug(loggerDebug, "Error al recibir el PCB del planificador"); return; } PCB* pcb = deserializarPCB (pedido_serializado); free(pedido_serializado); int32_t inicial;int32_t final; inicial=obtengoSegundos(); tiempoInicial[id]=inicial;estado[id]=1; ejecutar(id, pcb); final=obtengoSegundos(); tiempoFinal[id]=final; if(final>inicial){ tiempoAcumulado[id]+=(final-inicial); }else if(final<inicial){ tiempoAcumulado[id]+=final; } estado[id]=0; break; }
int main(int argc,char *argv[]) { t_configuracion_cpu* configCPU = malloc(sizeof(t_configuracion_cpu)); logger = log_create("cpu.log", "CPU",true, LOG_LEVEL_INFO); crearLog(); //valida los parametros de entrada del main if (argc != 2) { log_error_y_cerrar_logger(logger, "Uso: cpu config_path (faltan parametros de entrada)\n"); return EXIT_FAILURE; } log_info(logger, "Inciando proceso CPU.."); levantarDatosDeConfiguracion(configCPU, argv[1]); //Conexión al nucleo conectarAlNucleo(configCPU); //Conexión al umc conectarAUMC(configCPU); signal(SIGUSR1, handler_seniales); int header; printf("Me quedo escuchando mensajes del nucleo (socket:%d)\n", socket_nucleo); while(1){ if( recv(socket_nucleo, &header, sizeof(int), 0) <= 0) { perror("Desconexion del nucleo\n"); close(socket_nucleo); return 0; } switch (header) { case EJECUTA: ejecutar(); break; case CAMBIO_QUANTUM_SLEEP: recv(socket_nucleo,&quantum_sleep,sizeof(int),0); break; default: printf("obtuve otro id %d\n", header); sleep(3); break; } } finalizarCpu(); log_destroy(logger); return EXIT_SUCCESS; }
void frmInstalarJuego::on_btnOk_clicked() { QDir dir; QString install_info = tr("El ejecutable suele ser: INSTALL, si no esta seguro teclee DIR y pulsa INTRO"); if( QFile::exists(grlCfg.DirDOSBox) && dir.exists(fGrl->getDirRelative(ui->txtDestinoPath->text(), "DosGames")) ) { QStringList lista_multiple_iso; QString tipo_origen = ui->cbxMontaje_type_drive->itemData( ui->cbxMontaje_type_drive->currentIndex() ).toString(); QFile file_out(grlDir.Temp +"dosbox.conf"); if ( file_out.open(QIODevice::WriteOnly | QIODevice::Text) ) { QString dir_montaje = fGrl->getDirRelative(ui->txtMontaje_path->text(), "DosGames"); QTextStream out(&file_out); out.setCodec("UTF-8"); out << "[autoexec]" << endl; out << "@echo off" << endl; if( tipo_origen == "drive" ) out << "mount D \"" << dir_montaje << "\"" << endl; else if( tipo_origen == "cdrom" ) out << "mount D \"" << dir_montaje << "\" -t cdrom" << endl; else if( tipo_origen == "floppy" ) out << "mount A \"" << dir_montaje << "\" -t floppy" << endl; else if( tipo_origen == "IMG_floppy" ) out << "imgmount A \"" << dir_montaje << "\" -t floppy" << endl; else if( tipo_origen == "IMG_iso" ) out << "imgmount D \"" << dir_montaje << "\" -t iso" << endl; else if( tipo_origen == "IMG_multi_iso" ) { lista_multiple_iso.clear(); for( int i = 0; i < ui->lw_MultiIso->count(); ++i ) { if(i == 0) lista_multiple_iso << "\""+ fGrl->getShortPathName( fGrl->getDirRelative(ui->lw_MultiIso->item(i)->text()) ) +"\""; else lista_multiple_iso << "\""+ fGrl->getDirRelative(ui->lw_MultiIso->item(i)->text()) +"\""; } out << "imgmount D " << lista_multiple_iso.join(" ") << " -t iso" << endl; } else if( tipo_origen == "IMG_hdd" ) out << "imgmount D \"" << dir_montaje << "\" -t hdd" << endl; out << "mount C \"" << fGrl->getDirRelative(ui->txtDestinoPath->text(), "DosGames") << "\"" << endl; out << "echo " << install_info << endl; if(tipo_origen == "floppy" || tipo_origen == "IMG_floppy") out << "A:" << endl; else out << "D:" << endl; out.flush(); file_out.close(); } ejecutar( grlCfg.DirDOSBox, "-conf|"+grlDir.Temp +"dosbox.conf", grlDir.Temp); } else QMessageBox::information( this, "",tr("Puede que no este disponible el ejecutable del emulador.\nO el directorio de destino.")); }
int main() { int opcion,*op; op=&opcion; // FILE *pf; t_empleado info; t_cola cola; t_cola cola2; crearCola(&cola); crearCola(&cola2); do { menu(op); ejecutar(opcion,&cola,&cola2,&info); }while(opcion!=9); return 0; }
int main(int argc, char *argv[]) { int cantidadParametros=2; // esto no va a variar? char host[255]="hornero.fi.uncoma.edu.ar"; char *probl = argv[1]; char *tokenTorneo = argv[2]; char *leng = argv[3]; char *prog = argv[4]; int sist; char respuesta[1000]; char respuesta2[1000]; char comando[1024]; if(argc != 5) fatal("Mal numero de argumentos: hornero <numProbl> <token> <lenguaje> <prog.exe>"); if((sist = sistemaValido(leng)) < 0) fatal("Lenguaje no soportado"); // enviarSolicitud -> escribe en buffer enviarSolicitud(host,tokenTorneo,probl); // parser analiza buffer y carga global parametros[] parser(cantidadParametros); // arma comando a lanzar en buffer comando crearComando(comando, sist, prog, cantidadParametros); fprintf(stderr,"\nCOMANDO >%s<\n", comando); // lanzar el comando ejecutar(comando, respuesta); sprintf(respuesta2, "%d", atoi(respuesta)); fprintf(stderr, "RESPUESTA: >%s<\n", respuesta2); enviarRespuesta(host,respuesta2); fprintf(stderr, "BUFFER: >%s<\n", buffer); return 0; }
int main(int argc, char * argv[]) { char *linia; if(argc==3 && argv[1][0]=='-' && argv[1][1]=='c') { /*printf("Arguments\n");*/ if(strlen(argv[2])>=MAXLINE) { printf("Excesivo número de carácteres\n"); exit(1); } /* Ejecución de la orden */ argv[2][strlen(argv[2])]='\n'; argv[2][strlen(argv[2])+1]='\0'; analizar(argv[2]); pipeline(num_ordenes(), fich_entrada(), fich_salida(), es_append(), es_background()); ejecutar(num_ordenes(), num_argumentos(), get_ordenes(), get_argumentos(), es_background()); exit(0); } if(argc!=1) { printf("Parámetros erróneos\nUSO: -c \"comando\"\n", argv[1]); exit(1); } getcwd(current, MAXLINE); fprintf(stdout, LOGO); while(1) { linia=getline(); analizar(linia); /*printf("Analizadas %d ordenes\n", num_ordenes());*/ struct sigaction senyal; char **ordres; sigemptyset(&senyal.sa_mask); senyal.sa_flags=0; if(sigaction(SIGINT, NULL, &senyal)!=-1) { senyal.sa_handler=SIG_IGN; sigaction(SIGINT, &senyal, NULL); sigaction(SIGQUIT, &senyal, NULL); sigaction(SIGTTIN, &senyal, NULL); sigaction(SIGTTOU, &senyal, NULL); } ordres=get_ordenes(); if(num_ordenes()==0) continue; if(!strcmp(ordres[0],"exit")) exit(0); if(!strcmp(ordres[0],"cd")) cdexec(get_argumentos(), num_argumentos(), current); else { pipeline(num_ordenes(), fich_entrada(), fich_salida(), es_append(), es_background()); ejecutar(num_ordenes(), num_argumentos(), get_ordenes(), get_argumentos(), es_background()); /*visualizar();*/ /*printf("Command: %s", buffer); */ } } return 0; } /* main */
int main(void) { ejecutar(); return 0; }
void ZGui::CreateWindow ( QWidget* parent ) { setMainWidgetTitle ( "zCleaner" ); ZWidget *myWidget = new ZWidget ( this, NULL, 0, ( ZSkinService::WidgetClsID ) 40 ); QFont f ( qApp->font() ); f.setPointSize ( 10 ); myWidget->setFont ( f ); QVBoxLayout *myVBoxLayout = new QVBoxLayout ( myWidget, 0 ); //***************************** //*** add elements here QLabel *myLabel = new QLabel ( QString ( "<qt><font size=\"+1\">zCleaner</font><br>" "<font size=\"-1\">Simple antivirus for Z6</font></qt>" ), myWidget ); myVBoxLayout->addWidget ( myLabel, 0 ); myLabel->setIndent ( 5 ); myLabel->setAutoResize ( true ); scrollPanel = new ZScrollPanel ( myWidget, NULL, 0, ( ZSkinService::WidgetClsID ) 0 ); scrollPanel->resize ( 240, 320 ); //----------------------------------------------------------------------------------- modo=new ZComboBox(this,"ZComboBox",true);//declaro los combobox lugar=new ZComboBox(this,"ZComboBox",true); modo->insertItem("Clean", 0 ); modo->insertItem("AV", 1 ); //modo->insertItem("Picture/Video", 2 ); scrollPanel->addChild(modo , 100 , 5);//agrego el combobox de las apps al escritorio lab1 = new ZLabel("Mode" , this, "ZLabel", 0, (ZSkinService::WidgetClsID)4); lab1->setPreferredWidth(240); lab1->setAutoResize(true ); scrollPanel->addChild(lab1 , 10 , 8);//agrego el label al menu lugar->insertItem("SD",0); lugar->insertItem("Phone",1); lugar->insertItem("SD/Phone",2); scrollPanel->addChild(lugar , 100 , 55);//agrego el propiestario al escritorio lab2 = new ZLabel("Location" , this, "ZLabel", 0, (ZSkinService::WidgetClsID)4); lab2->setPreferredWidth(240); lab2->setAutoResize(true ); scrollPanel->addChild(lab2 , 10 , 58);//agrego el label al menu myVBoxLayout->addWidget ( scrollPanel, 0 ); //***************************** setContentWidget ( myWidget ); //************** softkeys and menus ************************** ZSoftKey *softKey = new ZSoftKey ( NULL , this , this ); QPixmap* pm = new QPixmap(); QRect rect, rect2, rect3, rect4; ZOptionsMenu* agre = new ZOptionsMenu ( rect3, softKey, NULL, 0, ( ZSkinService::WidgetClsID ) 2 ); //pm->load(getProgramDir() + "img/about.png"); agre->insertItem ( QString ( " ASK" ), NULL, NULL, true, 0, 0 ); agre->insertItem ( QString ( " DELETE" ), NULL, NULL, true, 1, 1 ); agre->connectItem ( 0, this, SLOT ( agregarTipoASK() ) ); agre->connectItem ( 1, this, SLOT ( agregarTipoDELETE() ) ); ZOptionsMenu* borr = new ZOptionsMenu ( rect4, softKey, NULL, 0, ( ZSkinService::WidgetClsID ) 2 ); borr->insertItem ( QString ( " ASK" ), NULL, NULL, true, 0, 0 ); borr->insertItem ( QString ( " DELETE" ), NULL, NULL, true, 1, 1 ); borr->connectItem ( 0, this, SLOT ( eliminarTipoASK() ) ); ZOptionsMenu* data = new ZOptionsMenu ( rect2, softKey, NULL, 0, ( ZSkinService::WidgetClsID ) 2 ); pm->load(getProgramDir() + "img/add.png"); data->insertItem ( QString ( " Add type" ), agre, pm, true, 0, 0 ); pm->load(getProgramDir() + "img/remove.png"); data->insertItem ( QString ( " Remove type" ), borr, pm, true, 1, 1 ); ZOptionsMenu* menu = new ZOptionsMenu ( rect, softKey, NULL, 0, ( ZSkinService::WidgetClsID ) 2 ); pm->load(getProgramDir() + "img/about.png"); menu->insertItem ( QString ( " About" ), NULL, pm, true, 0, 0 ); menu->insertSeparator(1, 1); pm->load(getProgramDir() + "img/white.png"); menu->insertItem ( QString ( " Clean" ), NULL, pm, true, 2, 2 ); pm->load(getProgramDir() + "img/properties.png"); menu->insertItem ( QString ( " Database" ), data, pm, true, 3, 3 ); pm->load(getProgramDir() + "img/edit.png"); menu->insertItem ( QString ( " Save delete files list" ), NULL, pm, true, 4, 4 ); menu->insertSeparator(5, 5); pm->load(getProgramDir() + "img/exit.png"); menu->insertItem ( QString ( " Exit" ), NULL, pm, true, 6, 6 ); menu->connectItem ( 6, qApp, SLOT ( quit() ) ); menu->connectItem ( 2, this, SLOT ( ejecutar() ) ); menu->connectItem ( 0, this, SLOT ( about() ) ); menu->connectItem ( 4, this, SLOT ( verEliminados() ) ); softKey->setOptMenu ( ZSoftKey::LEFT, menu ); softKey->setText ( ZSoftKey::LEFT, "Menu", ( ZSoftKey::TEXT_PRIORITY ) 0 ); softKey->setText ( ZSoftKey::RIGHT, "Exit", ( ZSoftKey::TEXT_PRIORITY ) 0 ); softKey->setClickedSlot ( ZSoftKey::RIGHT, qApp, SLOT ( quit() ) ); setSoftKey ( softKey ); }