napzizi  | Code :
 - #include<stdio.h>
 - #include<sys/types.h>
 - #include<errno.h>
 - #include<unistd.h>
 - #include<sys/wait.h>
 - #include<stdlib.h>
 - int i=2;
 - int main()
 - {
 - int j=10;
 - pid_t p;
 - while ((i>=0) && (p=fork()))
 - {i--;
 - if(p<0)
 - 	exit(1);}
 - j+=2;
 - if (p==0)
 - 	{i*=3;
 - 	j*=3;
 - printf ("le flis i=%d , j=%d ",i,j);
 - printf("\n" );
 -   }
 - 	else {
 -   i*=2;
 -   j*=2;
 - printf ("le pere i=%d , j=%d ",i,j);
 - printf("\n" );
 -   }
 - printf("\n" );
 - 	return 0 ;
 - 	}
 
  |  
 
  Code :
 - #include<stdio.h>
 - #include<sys/types.h>
 - #include<errno.h>
 - #include<unistd.h>
 - #include<sys/wait.h>
 - #include<stdlib.h>
 - 	int global;
 - 	int main(){
 -   pid_t child_pid;
 -   int local=0;
 -   child_pid=fork();
 -   if (child_pid>=0){
 -   	if (child_pid==0){
 -   	printf("chield process:\n" );
 -   	local++;
 -   	global++;
 -   	printf("childpid :%d ,parent pid=%d\n",getpid              (),getppid());
 -   	printf("child local %d ,child global : %d\n" ,local , global);
 -   	system("who I am" );
 -     }
 -   else {
 -   	printf("parent process\n" );
 -   	printf(" parent pid ;%d , child pid : %d\n" , getpid(), child_pid);
 -   	wait(0) ;
 -   	printf(" end child" );
 -   	printf("parent's local:%d, parent's global : %d\n", local,global);
 -   	exit(0);
 -   	}
 -   }
 -   else
 -   {perror("fork" ); exit(0);}
 - 	return 0;
 
  |  
 
  Code :
 - #include <stdio.h>
 - #include<unistd.h>
 - int main(){
 - 	pid_t pid;
 - 	quisuisje="le pere";
 - 	pid=fork();
 - 	if(pid==0){
 -   quisuisje="le fils";
 -   printf("je suis le %s",quisuisje);
 -   }
 -   else{
 -   	printf("je suis %s",quisuisje);
 -   	wait(NULL);
 -   }
 - 	return 0;
 - }
 
  |  
 
  Code :
 - #include<pthread.h>
 - #include<unistd.h>
 - #include<stdio.h>
 - void *thread1(void *arg)
 - {
 - 	int i , j ;
 - 	j=0 ;
 - 	printf("thread1.1\n" );
 - 	printf("thread1.2\n" );
 - 	printf("thread1.3\n" );
 - 	printf("thread1.4\n" );
 - 	for(i=1;i<5;i++)
 -   j=j+2;
 - 	printf("fin thread1\n" );
 - }
 - void*thread2(void*arg)
 - {	int1,j;
 - 	j=3;
 - 	printf("thread2.1 %d " , getpid());
 - 	printf("thread2.2\n" );
 - 	printf("thread2.3\n" );
 - 	printf("thread2.4\n" );
 - 	for(i=1;j<5;i++)
 -   j=j+2;
 - 	printf("fin thread 2 \n" );
 - }
 - int main()
 - {
 - 	pthead_t p1,p2;
 - 	printf(" je suis le pére mon if id" , getpid());
 - 	pthread_create(&p1 , NULL , thread1 , NULL );
 - 	pthread_create(&p2 , NULL , thread2 , NULL );
 - 	if 1
 - 	pthread_join (p1,NULL),
 - 	pthread_join (p2,NULL),
 - 	printf
 
  |  
 
  Code :
 - #include<stdio.h>
 - #include<unistd.h>
 - int main()
 - {
 - pid_t idfils;
 - int i;
 - for(i=0;i<3;i++){
 - idfils=fork();
 - if(idfils==0){
 - printf("je suis le fils mon ID: %d et le ID de mon pere est: %d \n",getpid(),getppid());
 - _exit(0);
 - }
 - else {
 - printf("je suis le pere mon ID est: %d \n",getpid());
 - }
 - }
 - return 0;
 - }
 
  |  
 
 voila    |