Βοηθεια για ασκηση του τει. helppp

Είναι δωρεάν, είναι σταθερό, είναι γρήγορο.. ας το γνωρίσουμε και λίγο καλύτερα..

Συντονιστές: Super-Moderators, Software & Hardware Moderators

Απάντηση
Άβαταρ μέλους
oracus
Δημοσιεύσεις: 332
Εγγραφή: 29 Νοέμ 2005 18:49

Βοηθεια για ασκηση του τει. helppp

Δημοσίευση από oracus » 20 Μαρ 2006 21:53

Re paidia kante to kalo kai reikste mia matia saftin tin ekfwnisi. To xrwstaw 3 eksamina ta leitourgika kai den me pernei allo. Einai mia askisi gia programmatismo se linux. Opoios mporei na voithisei tha to ektimisw afantyasta :)


>>Να κατασκευάσετε ένα πρόγραµµα το οποίο αφού πρώτα θα βρίσκει την τιµή της προτεραιότητας της τρέχουσας διεργασίας, αν αυτή είναι µικρότερη από το 10, τότε θα την υποβαθµίζει σε 10.

>> Να κατασκευάσετε ένα πρόγραµµα το οποίο δηµιουργεί µια νέα διεργασία. Η γονική διεργασία αφού ελέγχει ποιος είναι ο βασικός της κατάλογος, στη
συνέχεια δηµιουργεί ένα νέο κατάλογο µε όνοµα temp και αλλάζει το βασικό της κατάλογο κάνοντας το temp νέο βασικό κατάλογό της. Στη συνέχεια ανοίγει για εγγραφή ένα αρχείο µε όνοµα tempfile.txt, µέσα στον temp και γράφει «parent process». Τέλος, κλείνει το αρχείο και τελειώνει. Η θυγατρική διεργασία θα εκτελεί το πρόγραµµα pstree και στη συνέχεια θα τερµατίζει όλες τις διεργασίες που έχουν αριθµό διεργασίας µεγαλύτερο από το δικό της.
Για τον έλεγχο της ταυτότητας διεργασίας (pid) µπορείτε να χρησιµοποιήσετε τη συνάρτηση getpid (). Η pstree είναι µια utility του UNIX που εµφανίζει ένα δένδρο από διεργασίες. Παρουσιάζει δηλαδή τις τρέχουσες διεργασίες σε
δενδρική δοµή, όπου στη ρίζα του δένδρου βρίσκεται η διεργασία. init.
"To see the world in a grain of sand, And a heaven in a wildflower, Hold infinity in the palm of your hand, And eternity in a hour" William Blake

Άβαταρ μέλους
agrippas
Script Master
Δημοσιεύσεις: 494
Εγγραφή: 18 Ιούλ 2002 14:52
Τοποθεσία: Υπερπέραν
Επικοινωνία:

Βοηθεια για ασκηση του τει. helppp

Δημοσίευση από agrippas » 21 Μαρ 2006 10:40

Ας πούμε ότι το script σου είναι programma.sh. Το πρώτο μέρος θα σου βγει έτσι:

Κώδικας: Επιλογή όλων

nicevalue=$(ps -efl | grep programma.sh | grep -v grep | awk '{print $8}')
if [ "$nicevalue" -lt "10" ]; then
	renice 10 -p $$
fi
To $$ είναι το PID της current process, εναλλακτικό του getpid.

Για το δεύτερο τώρα (programma2.sh), μια ιδέα είναι αυτή:

Κώδικας: Επιλογή όλων

programma3.sh # child process
# parent process synexizei edw
echo `PWD`
mkdir temp 
cd temp
echo "parent process" > tempfile.txt
Το programma3.sh (να πάρεις όλα τα pid με pstree και να βρεις τα μεγαλύτερα από το $$ για να τα σκοτώσεις) πρέπει να διαβάσω για να σου πω πώς γίνεται, κάτι που σίγουρα μπορείς να κάνεις και μόνος σου.

Άβαταρ μέλους
oracus
Δημοσιεύσεις: 332
Εγγραφή: 29 Νοέμ 2005 18:49

Βοηθεια για ασκηση του τει. helppp

Δημοσίευση από oracus » 21 Μαρ 2006 16:18

Nasai kala re agripas. Efxaristw, tha diavasw :-)
"To see the world in a grain of sand, And a heaven in a wildflower, Hold infinity in the palm of your hand, And eternity in a hour" William Blake

Απάντηση

Επιστροφή στο “Linux Guide”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες