noto solo adesso che mi sono dimenticato di includere il codice come tale,e mi scuso
Ho fatto questa correzione,va bene?
codice:int runcommand(char **cline, int where){ pid_t pid; int status; switch(pid=fork()){ case -1: perror("smallsh"); return (-1); case 0: if(where == BACKGROUND) { signal(SIGINT, SIG_IGN); signal(SIGQUIT, SIG_IGN); } else { signal(SIGINT, SIG_DFL); signal(SIGQUIT,SIG_DFL); } execvp(*cline,cline); perror(*cline); exit(1); default: signal(SIGINT, SIG_IGN); signal(SIGQUIT, SIG_DFL); } if(where == BACKGROUND){ printf("[Process id %d]\n",pid); return (0); } if (waitpid(pid,&status,0) == -1) return (-1); else return (status); }

Rispondi quotando