#include <stdlib.h>
#include <stdio.h>
#include <malloc.h>
#define STACK_SIZE 1024
int new_process (){
cout<<"My new process..."<<endl;
return 1;
}
int main( )
{
int pid;
void *stack; //Cocuk prosesin yığın işaretçisi
stack=malloc(STACK_SIZE); //Bellek alanı alma
if(stack==0){
cout<<"Bellek tahsis hatasi"<<endl;
exit(1);
}
pid=clone(&new_process,(char*) stack+STACK_SIZE,0,0);//clone-->>İle yeni proses oluşturuldu...
pid=waitpid(pid,NULL,0);//Wait a child process
cout<<"CHILD PROCESS ENDED..."<<endl;
free(stack); //Belleği Bırak
}
Hiç yorum yok:
Yorum Gönder