Προς το περιεχόμενο

Error waiting proccess..


InDiO

Προτεινόμενες αναρτήσεις

Δημοσ.

Γειά και πάλι.

 

Έχω μια πατρική διεργασία που φτιάνει νέες διεργασίες, οι οποίες χρησιμοποιώντας την συναρτηση execlp(), καλούν διεργασίες που ορίζει ο χρήστης από ένα αρχείο. Ένας proccess sceduler δηλαδή με επιλογή για διάφορετικούς αλγόριθμους εκτέλεσης.

 

Οταν καλείται η exec, τότε χάνουμε τον έλεγχο της διεργασίας που την κάλεσε. Γιαυτό η πατρική για να εκτελέσει κάποιο από τα προγράμματα χρήστη κάνει fork() και κατόπιν execlp(). Ακριβώς από κάτω κάνω wait το pid που επιστρέφει στην πατρική το fork. Γιατι παιρνω error;; Αλλάζει το pid της proccess η exec;

 

>
if( (pid=fork())<0)
{
perror("Error forking new proccess!\n");
exit(1);
}
if(pid==0) 
{
char *file=ptr->name;
if((execlp(file,NULL))<0){
printf("Proccess %s was not found or could not be executed.\n",ptr->name);
//exit(1);
}
}
if((waitpid(pid,status,NULL))<0){
printf("Error waiting proccess %s \n",ptr->name);

:cry:

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...