Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void cmdListJobs(){
- int i;
- int status; //No borrar más de aquí
- int pid;
- for(i=0;i<nprocesos;i++){
- printf("--- El pid de histprocesoelemento es %d\n",HistProcesosElemento(i)->PID);
- pid=waitpid(HistProcesosElemento(i)->PID,&status,WNOHANG| WUNTRACED| WCONTINUED);
- printf("----waitpid es %d y senal es %d\n",pid,HistProcesosElemento(i)->senal);
- if(strcmp("FINISHED",HistProcesosElemento(i)->status)!=0 && pid != -1){
- if(WIFEXITED(status)){
- strcpy(HistProcesosElemento(i)->status,"FINISHED");
- HistProcesos[i]->prioridad=-1;
- printf("Terminado con WIFEXITED(status)=%d\n",WIFEXITED(status));
- }else if(WIFSIGNALED(status) && (pid!=0 || HistProcesosElemento(i)->senal !=0)){
- printf("Entra\n");
- if(WTERMSIG(status)<=31){
- strcpy(HistProcesosElemento(i)->status,"SIGNALED");
- HistProcesos[i]->prioridad=-1;
- HistProcesosElemento(i)->senal=WTERMSIG(status);
- printf("----senal es %d\n",HistProcesosElemento(i)->senal);
- printf("Terminado con WIFSIGNALED(status)=%d\n",WIFSIGNALED(status));
- }
- }else if(WIFSTOPPED(status)){
- strcpy(HistProcesosElemento(i)->status,"STOPPED");
- HistProcesosElemento(i)->senal=WSTOPSIG(status);
- printf("----senal es %d\n",HistProcesosElemento(i)->senal);
- printf("Terminado con WIFSTOPPED(status)=%d\n",WIFSTOPPED(status));
- }else if(HistProcesosElemento(i)->senal==0 && pid==0){
- strcpy(HistProcesosElemento(i)->status,"ACTIVE");
- }
- }
- printf("Status es %d\n",status);
- if(HistProcesosElemento(i)->senal!=0){
- printf("%d \t %s p=%d %s %d %d:%02d %s (%s) %s\n",HistProcesosElemento(i)->PID,HistProcesosElemento(i)->usuario, HistProcesos[i]->prioridad,nombreMes(HistProcesosElemento(i)->month), HistProcesosElemento(i)->dia, HistProcesosElemento(i)->hora, HistProcesosElemento(i)->min, HistProcesosElemento(i)->status, NombreSenal(HistProcesosElemento(i)->senal),HistProcesosElemento(i)->nombre);
- }else printf("%d \t %s p=%d %s %d %d:%02d %s (%03d) %s\n",HistProcesosElemento(i)->PID,HistProcesosElemento(i)->usuario, HistProcesos[i]->prioridad,nombreMes(HistProcesosElemento(i)->month), HistProcesosElemento(i)->dia, HistProcesosElemento(i)->hora, HistProcesosElemento(i)->min, HistProcesosElemento(i)->status, HistProcesosElemento(i)->senal,HistProcesosElemento(i)->nombre);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement