ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ II. Υφαντόπουλος Νικόλαος Υποψήφιος Διδάκτορας Contact:

Σχετικά έγγραφα
Λύβας Χρήστος Αρχική επιµέλεια Πιτροπάκης Νικόλαος και Υφαντόπουλος Νικόλαος

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ I

Λειτουργικά Συστήματα

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ II. Υφαντόπουλος Νικόλαος Υποψήφιος Διδάκτορας Contact:

ΤΕΙΘ ΣΤΕΦ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ (UNIX) ΕΡΓΑΣΤΗΡΙΟ. 6o ΕΡΓΑΣΤΗΡΙΟ

ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Διεργασίες και Νήματα Εργαστηριακές Ασκήσεις

Προγραµµατισµός 2 The shell

Unix: Εντολές, οργάνωση και χειρισµός αρχείων, διεργασίες

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ I

$./jms console -w <jms in> -r <jms out> -o <operations file> namedpipe. (standard input).

Λειτουργικά Συστήματα (ΗΥ-345) Χειμερινό Εξάμηνο

Εργαστήριο 7 fork(), exec(), signals

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ II. Υφαντόπουλος Νικόλαος Υποψήφιος Διδάκτορας Contact:

Εισαγωγή στα Λειτουργικά Συστήματα

Εργαστήριο ΔΙΕΡΓΑΣΙΕΣ - ΔΙΑΧΕΙΡΙΣΗ

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι

Κεφάλαιο 11 Διαχείριση Διεργασιών

Αβδέλαρου Κωνσταντίνα

Θέτοντας και επιστρέφοντας την τιµή της προτεραιότητας διεργασίας

Προγραμματισμός Διαχείρισης Συστημάτων Ι

Εργαστήριο 5 fork(), exec(), signals

Λειτουργικά Συστήματα (Λ/Σ)

Μερικές άλλες χρήσιμες εντολές

Εισαγωγή στο UNIX. Κωνσταντίνος Καραφασούλης ιδάσκων (Π 407) Τµήµα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστηµάτων

Λειτουργικά Συστήματα. Shell Programming

Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ I

Linux με τη χρήση κονσόλας

Λύβας Χρήστος Αρχική επιµέλεια Πιτροπάκης Νικόλαος και Υφαντόπουλος Νικόλαος

Λειτουργικά Συστήματα

ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ I. 1. Εισαγωγή 3 ΠΡΟΛΟΓΟΣ

Λειτουργικά Συστήματα. Άσκηση Πράξη. Shell Programming

Προγραμματισμός Διαχείρισης Συστημάτων ΙΙ

Χρονοδρομολογητής Κυκλικής Επαναφοράς

for for for for( . */

Εργαστήριο Λειτουργικών Συστημάτων. Shell Programming

Ο βρόχος for Η εντολή for χρησιμοποιείται για τη δημιουργία επαναληπτικών βρόχων στη C

1. Εισαγωγή. Λειτουργικά Συστήματα Η/Υ. Διεργασίες. Ορισμός ΚΕΦΑΛΑΙΟ 3 - ΔΙΕΡΓΑΣΙΕΣ. Κεφάλαιο 3 «Διεργασίες»

Λειτουργικά. Συστήματα Ι. Φ ρ ο ν τ ι σ τ ή ρ ι ο. Αριστείδης Ηλίας. Εργαστήριο Ηλεκτρονικών Υπολογιστών

head head n n L file standard output Παράδειγμα: head n n 10 test Σε συνδυασμό με την την tail,

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ

Μάθημα 6 ο. Χρονοδρομολόγηση (Scheduling)

Λειτουργικά Συστήματα

Υλοποίηση ενός προγραμματιστικού κελύφους εργασίας

ΜΑΘΗΜΑ: ΕΙΑΓΩΓΗ ΣΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ (UNIX) ΕΡΓΑΣΤΗΡΙΟ. 9o ΕΡΓΑΣΤΗΡΙΟ

Εκφώνηση άσκησης. Η Κρεμάλα σαν παιχνίδι. Ανάλυση. Μέρος Α Αναφoρά, ανάλυση τακτικής. Υλοποίηση του παιχνιδιού «Κρεμάλα»

Πως δημιουργούμε ένα νέο αρχείο κειμένου; Με τρεις τρόπους:

Εγκατάσταση του PiNet για διαχείριση εργαστηρίου με Raspberry Pi. Συγγραφέας: Τριχόπουλος Γιώργος Δεκέμβριος 2016

Το Shell. Προγραμματισμός II 1

Διαδικασιακός Προγραμματισμός

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος

Εισαγωγή στα Λειτουργικά Συστήματα

Εγχειρίδιο της εφαρμογής αναπαραγωγής CD V2.6 i. Εγχειρίδιο της εφαρμογής αναπαραγωγής CD V2.6

Λειτουργικά Συστήματα

Μερικές άλλες χρήσιμες εντολές

Εμφάνιση μηνυμάτων ή ενεργοποίηση και απενεργοποίηση της ηχούς εντολών.

2ο Εργαστήριο. Εισαγωγική στο Λ.Σ. LINUX Γενικές εντολές συστήματος και χρηστών

Νήµαταστην Java. Συγχρονισµός νηµάτων Επικοινωνία νηµάτων Εκτελέσιµα αντικείµενα Νήµατα δαίµονες Οµάδες νηµάτων. Κατανεµηµένα Συστήµατα 11-1

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι

FTP - (File Transfer Protocol ) Πρωτόκολλο Μεταφοράς Αρχείων

Εξοικείωση με τις εντολές ipconfig και ping

ΗΜΥ 213 Εργαστήριο Οργάνωσης Υπολογιστών και Μικροεπεξεργαστών

Basic Missions

Εισαγωγή στον Προγραμματισμό Εργαστήριο 3: Βοηθητικά προγράμματα του Linux CLI. Οκτώβριος 2014 Χ. Αλεξανδράκη Γ. Δημητρακάκης

Λειτουργικά Συστήματα (ΗΥ321)

ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Τμήμα Μηχανικών Πληροφορικής ΤΕ Λειτουργικά Συστήματα (Εργαστήριο) Διδάσκων: I. Τσακνάκης. 8ο Εργαστήριο

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια:

Linux με τη χρήση κονσόλας

Κεφάλαιο 3: Λειτουργικά Συστήµατα

Αρχιτεκτονικές Δικτύων & Πρωτόκολλα Ι

Εισαγωγή στον Προγραμματισμό

Προγραμματισμός Διαχείρισης Συστημάτων ΙΙ

ΗΜΥ 213. Εργαστήριο Οργάνωσης Η.Y. και Μικροεπεξεργαστών week 5. Διδάσκων: Δρ. Γιώργος Ζάγγουλος

Εισαγωγή στην Επιστήμη της Πληροφορικής Εργαστήριο. UNIX Μέρος 1

Εισαγωγή εκτελέσιμου κώδικα σε διεργασίες

Κατανεμημένα Συστήματα

ΠΡΟΣΑΡΜΟΓΕΑ ΙΑΣ ΥΝ ΕΣΗΣ ΣΥΣΚΕΥ ΗΣ ΑΝΑΠΑΡΑΓΩΓΗΣ D. KS-PD500 Πριν χρησιμοποιήσετε αυτόν τον προσαρμογέα

Εισαγωγή στα Λειτουργικά συστήματα Ι. Καθηγητής Κώστας Αναγνωστόπουλος

Οι εντολές ελέγχου της ροής ενός προγράμματος.

Λειτουργικά Συστήματα

Λειτουργικά Συστήματα

Εισαγωγή στα Λειτουργικά Συστήματα

Βασικές εντολές του Unix-Linux

Λιβανός Γιώργος Εξάμηνο 2017Β

Λειτουργικά Συστήματα (ΗΥ321)

Λειτουργικά Συστήµατα

Οδηγίες Χρήσεως Τηλεφωνικής Συσκευής

ΜΕΤΑΦΟΡΑ ΑΡΧΕΙΩΝ FTP

Λειτουργικά Συστήματα Πραγματικού Χρόνου

Εισαγωγή στα Λειτουργικά Συστήματα

Κεφάλαιο 1. Νήματα (Threads). Time Sharing

ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων

ΑΣΚΗΣΗ 2 -ΑΚΥΡΩΣΗ ΣΗΜΑΣΙΑΣ ΕΙΔΙΚΩΝ ΧΑΡΑΚΤΗΡΩΝ

Προγραμματισμός συστημάτων UNIX/POSIX. Σήματα (signals)

Π : Εγχειρίδια χρήσης της υπηρεσίας για τα κύρια υποστηριζόμενα Λειτουργικά

Κεφάλαιο 3: Λειτουργικά Συστήματα

Transcript:

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ II Υφαντόπουλος Νικόλαος Υποψήφιος Διδάκτορας Contact: nifantop@unipi.gr

It seems very simple. It is very simple. But if you don t know what the key is its virtually indecipherable.

Εκτέλεση εντολών σε συγκεκριμένη ώρα (1/2) Στις 08:00 το πρωί θέλουμε να τρέξει η εντολή echo «It's 8 o'clock» και το αποτέλεσμά της να μπει στο αρχείο «wakeup» που βρίσκεται στο home directory at 08:00 at> echo " It's 8 o'clock!!!" > ~/wakeup at>(εδώ πιέστε Control-D) warning: commands will be executed using /bin/sh job 2 at 2013-12-14 08:00

Εκτέλεση εντολών σε συγκεκριμένη ώρα (2/2) Μπορούμε να καλέσουμε το πρόγραμμα mpg123 και να παίξει κάποιο αρχείο mpeg ή αλλιώς, «ξυπνήστε με το αγαπημένο σας μουσικό κομμάτι» at 07:00 at> mpg123 ~/Desktop/explosion-01.mp3 at>(εδώ πιέστε Control-D) warning: commands will be executed using /bin/sh job 3 at 2013-12-15 07:00

Διεργασίες (1/4) Μια διεργασία είναι ένα πρόγραμμα που εκτελείτε και αναγνωρίζεται από ένα μοναδικό χαρακτηριστικό PID Για εμφάνιση πληροφοριών για τις διεργασίες, η εντολή είναι: ps [επιλογές] ps : εμφανίζει τις ενεργές διεργασίες του χρήστη την παρούσα στιγμή ps e: θα εμφανίσει όλες τις διεργασίες που εκτελούνται εκείνη τη στιγμή

Διεργασίες (2/4) ps f: παράγει μια πλήρη λίστα UID: αριθμός ταυτότητας χρήστη PID: η ταυτότητα της διεργασίας PPID: η ταυτότητα της πατρικής διεργασίας C: το ποσοστό χρόνου CPU που χρησιμοποιήθηκε η διεργασία STIME: ώρα δημιουργίας της διεργασίας TTY: το τερματικό της διεργασίας Time: ο χρόνος CPU που χρησιμοποιήθηκε ως τώρα CMD: το όνομα της εντολής

Διεργασίες (3/4) ps U root -u root u: Εμφανίζει κάθε διεργασία που τρέχει σαν root (κατευθείαν ή έμμεσα) σε τρόπο εμφάνισης χρήστη: pstree: εμφανίζει το δέντρο των διεργασιών Μια διεργασία μπορεί να βρίσκετε στο προσκήνιο, στο παρασκήνιο ή σε παύση

Διεργασίες (4/4) top: παράγει μια λίστα με περιοδική ενημέρωση των διεργασιών που τρέχουν στο σύστημα

Εκτέλεση εντολών στο παρασκήνιο (1/2) Μια διεργασία που παίρνει πολύ χρόνο, μπορούμε να την μεταφέρουμε στο παρασκήνιο Για να ξεκινήσουμε μια διεργασία στο παρασκήνιο, προσθέτουμε & στο τέλος της γραμμής εντολής και μπορούμε να εκτελέσουμε στο προσκήνιο άλλα προγράμματα sleep: εισάγει μια αναμονή, για όσα δευτερόλεπτα της δώσουμε Σύνταξη: sleep [δευτερόλεπτα] Εκτελείτε μέχρι να: Διανυθούν τα δευτερόλεπτα στο όρισμα Πιεστεί ένα πλήκτρο Συμβεί κάποιο γεγονός Παράδειγμα sleep 10: περιμένει 10 δευτερόλεπτα πριν επιστρέψει η προτροπή στο κέλυφος

Εκτέλεση εντολών στο παρασκήνιο (2/2) sleep 10 &: εκτελείτε στο παρασκήνιο ^Ζ: βάζουμε μια διεργασία που εκτελείτε στο προσκήνιο σε αναμονή bg: βάζουμε μια διεργασία που βρίσκεται σε αναμονή στο παρασκήνιο Προσοχή!!! ΔΕΝ βάζουμε στο παρασκήνιο διεργασίες που χρειάζονται είσοδο από το χρήστη, π.χ. το vi

Λίστα Διεργασιών που Έχουν Διακοπεί - Εκτελούνται στο Παρασκήνιο jobs: εμφανίζει μια λίστα με τις διεργασίες που εκτελούνται στο παρασκήνιο ή έχουν διακοπεί fg %αριθμός job: ξεκινάει μια διεργασία που έχει διακοπεί ή βρίσκεται στο παρασκήνιο Παράδειγμα: fg %1: ξεκινάει την διεργασία [1] που έχει διακοπεί Εάν γράψουμε μόνο fg, θα επαναφέρει στο προσκήνιο την τελευταία διεργασία που έχουμε διακόψει ή μεταφέρει στο παρασκήνιο

Τερματισμός ή αποστολή σήματος σε μια διεργασία (1/2) Μερικές φορές είναι απαραίτητο να τερματίσουμε μια διεργασία (π.χ σε ατέρμονα βρόγχο) ^C (control c): τερματίζουμε μια διεργασία που εκτελείται στο προσκήνιο kill %αριθμός job: τερματίζουμε μια διεργασία που εκτελείται στο παρασκήνιο Εντολή kill: στέλνει σήμα με κωδικό signalid στην διεργασία pid Σύνταξη: kill [signalid] pid signalid: ο αριθμός ή το όνομα ενός σήματος

Τερματισμός ή αποστολή σήματος σε μια διεργασία (2/2) kill l: εμφανίζει μια λίστα ονομάτων σημάτων Η εξ ορισμού τιμή σήματος είναι η 15 Μόνο ο ιδιοκτήτης ή ο διαχειριστής root μπορεί να στείλει σήμα σε μια διεργασία kill 9 pid : στέλνει σήμα τερματισμού στην διεργασία pid kill 0: τερματίζει όλες τις διεργασίες που σχετίζονται με το φλοιό (το 0 σαν pid) Παράδειγμα τερματισμού διεργασίας: kill -9 13183

Παράδειγμα (1/3) Δημιουργείστε ένα script το οποίο να θα κάνει mirror ένα site στο δίσκο μας το βράδυ και θα το διαβάζουμε το πρωί. Ονομάστε το work_at_night.sh και αποθηκεύστε στο home directory

Παράδειγμα (2/3) #!/bin/bash /sbin/ifup ppp0 while [ $(ifconfig grep ppp wc -l) -eq 0 ] do sleep 3 done cd ~ wget -r -l1 http://www.news.gr/ /sbin/ifdown ppp0 exit 0

Παράδειγμα (3/3) Εκτέλεση του script: $ at 07:00 at> /home/nikos/work_at_night.sh at>(εδώ πιέστε Control-D) warning: commands will be executed using /bin/sh job 7 at 2015-01-11 07:00 $

root@oslab:~$ sudo shutdown h now