Aσκηση με σήματα

Ανώνυμος (χωρίς επαλήθευση) | Κυρ, 01/13/2008 - 23:30 | 2' | 2

Η διεργασία-πατέρας θα τυπώνει το pid της και μετά από αναμονή 3 δευτερολέπτων θα στέλνει σήμα SIGINT στη διεργασία παιδί. Προαιρετικά, ο αριθμός των δευτερολέπτων να είναι παράμετρος που να δίνεται από τον χρήστη κατά την εκτέλεση του προγράμματος σαν όρισμα (command line argument).
Η διεργασία-παιδί θα τυπώνει συνεχώς το μήνυμα 'Eimai to paidi' με χρονική απόσταση μεταξύ των μηνυμάτων αυτών το ένα δευτερόλεπτο. Όταν λάβει το σήμα SIGINT από τον πατέρα, τότε -και μόνο τότε- θα θέσει ένα χρονομετρητή 15 δευτερολέπτων (με τη χρήση της SIGALARM) έτσι ώστε μετά το πέρας αυτού του χρονικού διαστήματος η διαδικασία-παιδί να τερματιστεί.
Σημείωση: Κατά τη λειτουργία του χρονομετρητή, η διεργασία-παιδί εξακολουθεί να εμφανίζει το μήνυμα 'Eimai to paidi' με τον ίδιο τρόπο που σημειώνεται παραπάνω!

{Το πρόβλημα μου είναι ότι γενικά δεν ξέρω C και εξαιτίας ενός εργαστηρίου έχω παλαβώσει.Στην παραπάνω άσκηση έχω κάνει πολύ λίγα πράγματα αλλα το βασικότερο πρόβλημα μου είναι πως θα γίνει το SIGINT και SIGALRM.Παρακαλώ όποιος γνωρίζει κάτι να μου απαντήσει κάτι μπας και την παραδώσω την άσκηση εγκαίρως.Σας ευχαριστώ πολύ!}

Δώσε αστέρια!

MO: (ψήφοι: 0)

Σχόλια

Ας ξεκινήσουμε από τα βασικά

main(int argc, char *argv[])

{

........

}

Με αυτό τον τρόπο λες ότι θα υπάρχουν ορίσματα

Η παράμετρος argc αποθηκεύει το πλήθος των ορισμάτωνπου εισάγονται στη γραμμή εντολής και είναι ένας ακέραιος και θα έχει τουλαχιστο τιμή 1 (Το όνομα του προγράμματος)

H παράμετρος argv[] είναι απροσδιοριστος αλφαριθμητικός πίνακας

στην περιπτωση σου που θέλεις να αναφέρεις το χρόνο σαν όρισμα  το 2ο κατά σειρά πχ

./dokimi 8

το dokimi ειναι το πρώτο όρισμα το 8 το 2ο

Χρήσιμη για την περιπτωση θα σου είναι η εντολή

atoi

όπου πέρνει το ακεραιο μέρος του ορίσματος που θέλεις

int atoi argv[1]   ----> (Πάρε το ακέραιο μέρος του 2ου ορίσματος)

int atoi argv[2]   ---->(Πάρε το ακέραιο μέρος του 3ου ορίσματος)

φτιάξε πως θέλεις την δομή και ξαναστείλε για βοήθεια

Η ΑΕΚ ειναι κυρίως ιδέα και οι ιδέες δεν αποθνήσκουν