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

διεργασία


efefef

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

γεια σασ παιδια εχω να κανω αυτό :

Μια διεργασία Πατέρας θα παράγει (fork) ένα Παιδί και θα κοιμάται

(sleep) για 90’’. Η διεργασία Παιδί θα παράγει ένα Εγγόνι και θα κοιμάται

για 60’’. Η διεργασία Εγγόνι θα κοιμάται για 30’’. Ακριβώς μετά την sleep

η κάθε διεργασία θα τυπώνει (write) ένα μήνυμα για το ποια διεργασία

είναι και ποιο είναι το PID της.

 

σε linux και δεν έχω ιδέα!!!!Μπορεί κανείς να βοηθήσει???

Ευχαριστώ!

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Κάτι τέτοιο;

>#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>

int main (int argc, char **argv) {
pid_t pid = fork();

if (pid == 0) {
	pid = fork();
	if (pid == 0) {
		sleep (30);
		pid_t pidGrandchild = getpid();
		printf("Grandchild process with PID: %i\n", pidGrandchild);
	} else if (pid > 0) {
		sleep(60);
		pid_t pidChild = getpid();
		printf("Child process with PID: %i\n", pidChild);
	}
} else if (pid > 0) {
	sleep (90);
	pid_t pidFather = getpid();
	printf("Parent process with PID: %i\n", pidFather);
}

exit (0);
}

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Με τις σημειώσεις που έβγαλε η Βακάλη και ο Στάμος εδώασχολήθηκες καθόλου?Αν κάτσεις και τις διαβάσεις προσεχτικά θα βρείς όλη σου την εργασία σε copy-paste.Άντε να ασχοληθείς 2 ώρες με αυτήν για να την φέρεις στα μέτρα σου.

 

P.S.Δεν λέω να μην ζητάς βοήθεια αλλά τουλάχιστον δούλεψε με την εργασία,δώσε μας ότι έκανες και θα στο διορθώσουμε.Αλλά όχι όλα έτοιμα.Και είδες ότι η αυτό που σου έδωσαν έχει την printf ενώ θέλει write().Διάβασε λίγο τις σημειώσεις και είσαι έτοιμος.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημήτρη δεν είναι 7:30 εδώ που είμαι, είναι 3 παρά το μεσημέρι. Έλειπα αυτή τη βδομάδα Taiwan για δουλειές :-)

 

αυτό που σου έδωσαν έχει την printf ενώ θέλει write()

Ούπς μου ξέφυγε αυτό το κομμάτι. Anyway εγώ για μπούσουλα το έδωσα περισσότερο, ούτε είναι και 100% σωστό....

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Τaiwan!!!! τι λέει; πολυ κομπιουτερ εκει ε; λινουξ βλέπεις πουθενα να εχει ο κοσμος, τα μαγαζια; Αν δεν ειναι αδιακριτη ερωτηση επιχειριματιας εισαι;

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Μπα, μην νομίζεις φτώχια και το μέγα έλεος. Από Linux λίγα πράγματα αλλά μην νομίζεις οτι είχα και πολύ χρόνο να κάνω καμμιά βόλτα, και σήμερα πετάω για Αθήνα. Βρέχει κιόλας εδώ...

Καθόλου αδιάκριτη, οχι δεν είμαι επιχειρηματίας... developer/*nix admin ή κάτι στο ενδιάμεσο... μεγάλη ιστορία. Απεσταλμένος της εταιρείας εδώ...

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ευχαριστώ πάρα πολύ για την λύση!!!!!

και όσο για τισ σημειώσεις που δίνει να τις χαίρεται!!!

Είδα πόσο βοήθησαν και περσι!Εδώ ούτε το linux δεν τρέχει!!!

Τέλοσ πάντων ευχαριστώ!!!

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Παρακαλώ αλλά όπως σου είπε και ο συμφοιτητής σου πιό πάνω καλό θα ήταν να διαβάσεις και τη θεωρία ή τουλάχοστον μερικά man pages επί του θέματος. Κυρίως man 3 fork. Επαναλαμβάνω επίσης πως δεν είναι 100% σωστό αυτό που σου έδωσα, χρειάζεται να προσθέσεις και κάποιου είδους error handling σε περίπτωση που δεν είναι δυνατή η δημιουργία child process. Το man page είναι αρκετά κατατοπιστικό, φαντάζομαι και οι σημειώσεις σας.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ευχαριστώ πάρα πολύ για την λύση!!!!!

και όσο για τισ σημειώσεις που δίνει να τις χαίρεται!!!

Είδα πόσο βοήθησαν και περσι!Εδώ ούτε το linux δεν τρέχει!!!

Τέλοσ πάντων ευχαριστώ!!!

 

Κοιταξε αν δεν ξέρεις να ρυθμίζεις εσύ σωστά το linux δεν σε φταίει κανένας.Πάντως για να το έχεις πάρει και πέρυσι το μάθημα μάλλον είσαι μεγαλύτερο έτος από εμένα.Που σημαίνει ότι έχεις κάνει περισσότερο προγραμματισμό από εμένα.Η εργασία δεν είναι Linux είναι προγραμματισμός.Το μόνο που κάνεις στο linux είναι να ανοίγεις το System Monitor και να επαληθεύεις με το μάτι το τι κάνεις.Που σημαίνει ότι δεν χρειάζειται να είσαι master στο linux.πληροφορικός είσαι.Όχι μπακάλης.Τεσπα.Προσπάθησε να μην παίρνεις μασημένη τροφή.Γιατί τότε μάλλον θα το δώσεις και του χρόνου.Και Nullscan σωστό το πρόγραμμα από όσο το είδα με το μάτι αλλά δεν θέλει printf θέλει write.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

συμφωνω με τον d-l-sama γιατι ο efefef δεν ασχοληθηκε καθολου απλα το ηθελε στο πιατο και σταθηκε τυχερος στην μεγαλοκαρδια και ικανοτητα του Nullscan.

nullscan@ οπως το ειδα με μια ματια προχειρα καλο φαινεται, θα το κοιταξω βαθυτερα αργοτερα

δεν εχω ιδεα :lol: αν ηταν bash και σε απλη μορφη ισως κατι να μου λεγε! και καλη επιστροφη!

 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

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

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

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