SOME C PROJECTS FROM LINUX I HAVE TO ADAPT TO GNO OR SIMPLY TO RUN WITH GNO ____________________________________ /*** fils.c ***/ #include #include int main() { pid_t fils_pid; fils_pid = fork(); if (fils_pid==0) printf("Je suis le fils avec pid %d\n",getpid()); else if (fils_pid>0) printf("Je suis le pere avec pid %d\n",getpid()); else printf("Erreur dans la creation du fils\n"); } L'exécution de fils.c montre les pid du père et du fils. $>gcc -o fils fils.c $>fils Je suis le pere avec pid 4130 $>Je suis le fils avec pid 4131 ____________________________________ /*** wait.c ***/ #include #include int main() { pid_t fils_pid; fils_pid = fork(); if (fils_pid==0) printf("Je suis le fils avec pid %d\n",getpid()); else if (fils_pid>0){ printf("Je suis le pere avec pid %d\n",getpid()); printf("J'attends que mon fils se termine\n"); wait(NULL); } else printf("Erreur dans la creation du fils\n"); exit(0); } ____________________________________ /*** thread-pid.c ***/ #include // pour sleep #include // pthread_create, pthread_join, pthread_exit #include void *fonction(void *arg) { printf("pid du thread fils = %d\n",(int) getpid()); while(1); // forever return NULL; } int main() { pthread_t thread; printf("pid de main = %d\n",(int) getpid()); pthread_create(&thread, NULL, &fonction, NULL); while(1); // forever return 0; } $>gcc -o pthread-pid thread-pid.c -lpthread $>pthread-pid & [1] 24133 $>pid de main = 24133 pid du thread fils = 24136