processes unix process control
Διαχείριση διεργασιών στο Unix:
Στο Unix, όλες οι οδηγίες εκτός του πυρήνα εκτελούνται στο πλαίσιο μιας διαδικασίας.
Μια διαδικασία είναι μια ακολουθία οδηγιών και κάθε διαδικασία έχει ένα μπλοκ ελεγχόμενων δεδομένων που σχετίζονται με αυτήν. Οι διαδικασίες μπορούν να χειριστούν με τρόπο παρόμοιο με τον τρόπο χειρισμού των αρχείων.
Για παράδειγμα, όπως το «ls» μπορεί να χρησιμοποιηθεί για να δείτε τη λίστα των αρχείων, το «ps» μπορεί να χρησιμοποιηθεί για να δείτε τη λίστα των διεργασιών.
Unix βίντεο # 23:
Σε αυτό το σεμινάριο, θα καλύψουμε ποιες πληροφορίες σχετικά με τη διαδικασία αποθηκεύονται και επίσης περιγράφουμε ορισμένες εντολές που χρησιμοποιούνται για τη διαχείριση διεργασιών. Θα παράσχουμε επίσης μια σύντομη περιγραφή του τρόπου εντοπισμού σφαλμάτων εντολών.
Τι θα μάθετε:
Πληροφορίες διεργασίας Unix
Ο πίνακας διεργασιών περιέχει πληροφορίες για όλες τις διαδικασίες που εκτελούνται αυτήν τη στιγμή. Ο κύριος σκοπός αυτού του πίνακα είναι η αποτελεσματική διαχείριση όλων των διαδικασιών που εκτελούνται.
πώς να δημιουργήσετε έναν γενικό πίνακα στο java
Σημείωση: Ως λειτουργικό σύστημα πολλαπλών εργασιών και πολλαπλών χρηστών, το Unix θα έχει πολλές διαδικασίες να εκτελούνται ταυτόχρονα.
Ο πίνακας περιέχει πληροφορίες όπως:
- Αναγνωριστικό διαδικασίας
- Αναγνωριστικό γονικής διαδικασίας
- Κατάσταση των διαδικασιών
- χρήση επεξεργαστή
Οι διαδικασίες στο Unix περνούν από διάφορες καταστάσεις ανάλογα με διάφορες περιστάσεις. Οι αλλαγές κατάστασης μπορεί να προκληθούν από το εάν μια διαδικασία πρέπει να περιμένει για να ολοκληρωθεί μια λειτουργία ανάγνωσης ή εγγραφής ή όταν πρέπει να δοθεί η ευκαιρία να εκτελεστεί μια άλλη πιο επείγουσα διαδικασία.
Εντολές ελέγχου διεργασιών
Υπάρχουν διάφορες εντολές που είναι διαθέσιμες για έλεγχο και χειρισμό διαδικασιών. Η εντολή «ps» μπορεί να χρησιμοποιηθεί για την προβολή των πληροφοριών κατάστασης διαδικασίας.
Εντολή | ps - παρέχει πληροφορίες για όλες τις διαδικασίες που εκτελούνται αυτήν τη στιγμή. |
---|---|
Κοινή σύνταξη | $ ps (ΕΠΙΛΟΓΕΣ) |
Παράδειγμα 1 | $ ps Δίνει πληροφορίες σχετικά με τη διαδικασία, συμπεριλαμβανομένου του PID, του ονόματος τερματικού, του χρόνου δημιουργίας και του ονόματος των διεργασιών. |
Όπως συζητήθηκε σε ένα προηγούμενο σεμινάριο, οι διαδικασίες μπορούν να ταξινομηθούν ως πρώτο πλάνο, φόντο ή δαίμονας. Όταν εκτελείται μια εντολή από το τερματικό, εκτελείται κανονικά στο προσκήνιο. Για να εκτελέσετε μια διαδικασία στο παρασκήνιο, μπορεί να χρησιμοποιηθεί το κουμπί «&» στο τέλος της εντολής.
Παράδειγμα:
$ grep “how” file1 > file2 &
Αυτή η εντολή θα αναζητήσει τις γραμμές που περιέχουν το μοτίβο «πώς» και θα αποθηκεύσει την έξοδο στο αρχείο2. Εάν το αρχείο 1 είναι αρκετά μεγάλο, ίσως θέλουμε να συνεχίσουμε με άλλες ενέργειες και να εκτελέσουμε αυτήν την εντολή στο παρασκήνιο Με το '&' στο τέλος, αυτή η εντολή θα εκτελεστεί ως διαδικασία στο παρασκήνιο.
Είναι δυνατή η αναστολή μιας διαδικασίας προσκηνίου χρησιμοποιώντας την εντολή «^ Z». Αυτή η εντολή μετακινεί την τρέχουσα διαδικασία προσκηνίου σε κατάσταση αναστολής στο παρασκήνιο. Από εκεί, η διαδικασία μπορεί είτε να ωθηθεί για να συνεχιστεί στο παρασκήνιο χρησιμοποιώντας την εντολή 'bg', είτε μπορεί να επιστρέψει στο προσκήνιο χρησιμοποιώντας την εντολή 'fg'.
Κάθε διαδικασία σχετίζεται επίσης με προτεραιότητα. Αυτό χρησιμοποιείται για να διασφαλιστεί ότι το λειτουργικό σύστημα είναι σε θέση να κατανείμει αρκετά χρόνο σε διάφορες εργασίες επεξεργασίας. Η εντολή 'ωραία' μπορεί να χρησιμοποιηθεί για τη μείωση της προτεραιότητας μιας διαδικασίας και ως εκ τούτου να είναι 'ωραία' με τις άλλες διαδικασίες, δηλαδή
$ ωραία
Αυτή η γραμμή θα εκτελέσει την καθορισμένη εντολή σε χαμηλότερη προτεραιότητα - από προεπιλογή, η προτεραιότητα θα μειωθεί κατά 10. Η εντολή παίρνει επίσης μια παράμετρο που μπορεί να χρησιμοποιηθεί για να χρησιμοποιήσει ένα διαφορετικό επίπεδο «ευγένειας».
Παράδειγμα:
$ nice -20 ls
Αυτή η εντολή εκτελείται «ls» με μειωμένη προτεραιότητα κατά 20.
Είναι επίσης δυνατό να αυξηθεί η προτεραιότητα με αρνητική «ευγένεια». Ωστόσο, αυτό απαιτεί άδεια του χρήστη.
Όταν ένα τερματικό ή μια συνεδρία σύνδεσης κλείνει, στέλνει το σήμα SIGHUP σε θυγατρικές διαδικασίες. Από προεπιλογή, αυτό το σήμα θα προκαλέσει τον τερματισμό των διεργασιών του παιδιού. Η εντολή «nohup» μπορεί να χρησιμοποιηθεί για να επιτρέψει στις εντολές να συνεχίσουν να εκτελούνται ακόμη και όταν τερματιστεί η περίοδος σύνδεσης.
Παράδειγμα:
$ nohup soft file1 > file2
Με αυτήν την εντολή, η ταξινόμηση του αρχείου1 και η αποθήκευση στη διαδικασία του αρχείου2 θα συνεχιστούν ακόμη και αν έχουμε αποσυνδεθεί από το σύστημα.
Η εντολή 'kill' μπορεί να χρησιμοποιηθεί για τον τερματισμό οποιασδήποτε διαδικασίας ανάλογα με τα δικαιώματα.
Παράδειγμα:
$ kill (options)
Αυτή η εντολή θα τερματίσει μια διαδικασία με το αναγνωριστικό διαδικασίας. Το PID μιας διαδικασίας μπορεί να ληφθεί χρησιμοποιώντας την εντολή «ps».
Αυτή η εντολή «at» χρησιμοποιείται για την εκτέλεση εντολών σε μια συγκεκριμένη ημερομηνία και ώρα στο μέλλον.
Παράδειγμα:
$ at 8pm sort file1>file2
Αποσφαλμάτωση του Unix
Το Unix παρέχει έναν αριθμό μηχανισμών για την εύρεση σφαλμάτων στα σενάρια εντολών σας. Αυτοί οι μηχανισμοί μπορούν να χρησιμοποιηθούν για να δουν ένα ίχνος αυτού που εκτελείται, δηλαδή τη σειρά με την οποία εκτελούνται οι εντολές. Το ίχνος μπορεί να χρησιμοποιηθεί για την κατανόηση και την επαλήθευση της λογικής και του ελέγχου ροής του σεναρίου.
=> σύνολο -v
λεκτική λειτουργία: Η ρύθμιση αυτής της επιλογής πριν από την εκτέλεση μιας εντολής θα διασφαλίσει ότι η εντολή που θα εκτελεστεί εκτυπώνεται στο stdout πριν από την πραγματική εκτέλεση.
=> σύνολο -x
λειτουργία παρακολούθησης εκτέλεσης: Η ρύθμιση αυτής της επιλογής θα εμφανίζει κάθε εντολή καθώς εκτελείται μαζί με τα ορίσματά της.
=> σύνολο -n
λειτουργία no-exec: Η ρύθμιση αυτής της επιλογής εμφανίζει τυχόν σφάλματα χωρίς την εκτέλεση εντολών.
Ρίξτε μια ματιά στο επερχόμενο σεμινάριό μας για να μάθετε περισσότερα Προηγμένη δέσμη ενεργειών Shell.
Εκπαιδευτικό πρόγραμμα PREV | ΕΠΟΜΕΝΟ Φροντιστήριο
Συνιστώμενη ανάγνωση
- Unix Processes Control Εντολές όπως Ps και Top (Μέρος Γ)
- Εντολές Unix: Βασικές και προχωρημένες εντολές Unix με παραδείγματα
- Εντολές επεξεργασίας κειμένου Unix: Unix φίλτρα με παραδείγματα
- Tutorial Unix Pipes: Pipes in Unix Programming
- Περισσότερες εντολές Unix Filter and Awk, Sed στην επεξεργασία κειμένου
- Επιχειρήματα γραμμής εντολών στο Unix Shell Script με παράδειγμα
- Εκμάθηση UNIX για αρχάριους (20+ σε βάθος βίντεο εκπαίδευσης Unix)
- Τρόπος σύγκρισης δύο αρχείων στο Unix: Εντολές σύγκρισης αρχείων