Jump to content



Βοήθεια στην C


Thodoris21

Recommended Posts

#include <unistd.h>

void main ()
{
pid_t pID = fork(); <-- δημιουργια παιδιών για να κάνει 3 θέλεις ένα for και ένα πίνακα που θα κρατάει τα pid_t
if (pID == 0) // child
{
// Code only executed by child process

κώδικας που θα εκτελεί το παιδί.
}
else if (pID < 0) // failed to fork
{
cerr << "Failed to fork" << endl;
exit(1);
}
else // parent
{
// Code only executed by parent process

}
}

Το πως θα χωρίσεις το αρχείο εισόδου ανάμεσα στα 3 παιδιά δεν έχω ιδέα

Link to comment
Share on other sites

Οταν ομως γινεται το fork ο κωδικας από ποιον θα εκτελείται?Από το παιδί ή απο τον πατέρα?Για παράδειγμα αν θέλω 3 διεργασίες να εκτελούνται παράλληλα πρέπει να κάνω ένα fork,να εκτελέσει το παιδί έναν κώδικα(1η διεργασία),ο πατέρας άλλον έναν κώδικα(2η διεργασία) και για την 3η διεργασία χρειάζομαι ακόμα ένα fork όπου εκτελείται μόνο ο πατέρας ή μονο το παιδί?Σωστά?

Link to comment
Share on other sites

Όταν κάνεις fork o πατέρας αναστέλει την λειτουργια του αν θυμάμαι καλα (ίσως να κάνω και λάθος) μέχρι να τελειώσουν τα παιδιά του.

Ο πατέρας δεν μετράει.Θες 3 παιδιά-διεργασίες θες 3 fork.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

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

Important Information

Ο ιστότοπος theLab.gr χρησιμοποιεί cookies για να διασφαλίσει την καλύτερη εμπειρία σας κατά την περιήγηση. Μπορείτε να προσαρμόσετε τις ρυθμίσεις των cookies σας , διαφορετικά θα υποθέσουμε ότι είστε εντάξει για να συνεχίσετε.