Παράδειγμα χρήσης της εντολής Linux ps

Εισαγωγή

Η εντολή ps παράγει μια λίστα με τις τρέχουσες διαδικασίες στον υπολογιστή σας.

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

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

Αυτές οι πρόσθετες εντολές βοηθούν να φιλτράρουν και να προβάλλουν την έξοδο από το ps, το οποίο συχνά μπορεί να είναι αρκετά μεγάλο.

Πώς να χρησιμοποιήσετε την εντολή ps

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

Για να καλέσετε ps πληκτρολογήστε απλά τα εξής:

ps

Στην έξοδο θα εμφανίζονται σειρές δεδομένων που περιέχουν τις ακόλουθες πληροφορίες:

Το PID είναι το αναγνωριστικό διαδικασίας που αναγνωρίζει τη διαδικασία εκτέλεσης. Το TTY είναι ο τύπος τερματικού.

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

Για να δείτε όλες τις τρέχουσες διαδικασίες, χρησιμοποιήστε μία από τις ακόλουθες εντολές:

ps -Α

ps -e

Για να εμφανίσετε όλες τις διαδικασίες, εκτός από τους επικεφαλής της περιόδου λειτουργίας, εκτελέστε την ακόλουθη εντολή:

ps -d

Τι είναι λοιπόν ο ηγέτης της συνόδου; Όταν μια διαδικασία ξεκινάει άλλες διαδικασίες, είναι ο ηγέτης της συνόδου όλων των άλλων διαδικασιών. Έτσι, φανταστείτε τη διαδικασία Α ξεκινώντας τη διαδικασία Β και τη διαδικασία Γ. Η διαδικασία Β ξεκινά τη διαδικασία D και η διαδικασία C ξεκινά τη διεργασία E. Όταν παραθέτετε όλες τις διαδικασίες εκτός από τους ηγέτες των συνόδων, θα δείτε B, C, D και E αλλά όχι A.

Μπορείτε να ακυρώσετε οποιαδήποτε από τις επιλογές που έχετε επιλέξει χρησιμοποιώντας το διακόπτη -N. Για παράδειγμα, εάν θέλετε να δείτε μόνο τους ηγέτες της περιόδου λειτουργίας εκτελέστε την ακόλουθη εντολή:

ps -d-N

Προφανώς το -N δεν είναι πολύ λογικό όταν χρησιμοποιείται με τους διακόπτες -e ή -A καθώς δεν θα δείξει τίποτα.

Εάν θέλετε να δείτε μόνο τις διαδικασίες που σχετίζονται με αυτό το τερματικό, εκτελέστε την ακόλουθη εντολή:

ps Τ

Αν θέλετε να δείτε όλες τις τρέχουσες διαδικασίες χρησιμοποιώντας την ακόλουθη εντολή:

ps r

Επιλογή συγκεκριμένων διεργασιών χρησιμοποιώντας την εντολή ps

Μπορείτε να επιστρέψετε συγκεκριμένες διαδικασίες χρησιμοποιώντας την εντολή ps και υπάρχουν διάφοροι τρόποι για να αλλάξετε τα κριτήρια επιλογής.

Για παράδειγμα, εάν γνωρίζετε το id της διαδικασίας, μπορείτε απλά να χρησιμοποιήσετε την ακόλουθη εντολή:

ps -p

Μπορείτε να επιλέξετε πολλές διεργασίες καθορίζοντας ταυτότητες πολλαπλών διεργασιών ως εξής:

ps -p "1234 9778"

Μπορείτε επίσης να τα ορίσετε χρησιμοποιώντας μια λίστα που χωρίζεται με κόμματα:

ps-ρ 1234,9778

Οι πιθανότητες είναι ότι δεν θα γνωρίζετε το αναγνωριστικό διαδικασίας και είναι ευκολότερο να κάνετε αναζήτηση με εντολή. Για να το κάνετε αυτό χρησιμοποιήστε την ακόλουθη εντολή:

ps -C <εντολή>

Για παράδειγμα, για να διαπιστώσετε εάν εκτελείται το Chrome, μπορείτε να χρησιμοποιήσετε την ακόλουθη εντολή:

ps -C χρωμίου

Ενδέχεται να εκπλαγείτε να δείτε ότι αυτό επιστρέφει μία διαδικασία για κάθε ανοιχτή καρτέλα.

Άλλοι τρόποι για να φιλτράρετε τα αποτελέσματα είναι ανά ομάδα. Μπορείτε να κάνετε αναζήτηση ανά όνομα ομάδας χρησιμοποιώντας την ακόλουθη σύνταξη:

ps -G <όνομα ομάδας>
ps - Ομάδα <όνομα ομάδας>

Για παράδειγμα, για να μάθετε όλες τις διαδικασίες που εκτελούνται από την ομάδα λογαριασμών, πληκτρολογήστε τα εξής:

ps -G "λογαριασμοί"
ps - Ομάδες λογαριασμών

Μπορείτε επίσης να πραγματοποιήσετε αναζήτηση ανά αναγνωριστικό ομάδας αντί για όνομα ομάδας, χρησιμοποιώντας ένα μικρό πεζά g ως εξής:

ps -g
ps - ομάδα

Εάν θέλετε να πραγματοποιήσετε αναζήτηση βάσει λίστας αναγνωριστικών περιόδου σύνδεσης, χρησιμοποιήστε την ακόλουθη εντολή:

ps -s

Εναλλακτικά, χρησιμοποιήστε τα παρακάτω για αναζήτηση βάσει τύπου τερματικού.

ps -t

Αν θέλετε να βρείτε όλες τις διεργασίες που εκτελούνται από συγκεκριμένο χρήστη δοκιμάστε την ακόλουθη εντολή:

ps U <λίστα χρηστών>

Για παράδειγμα, για να βρείτε όλες τις διεργασίες που τρέχουν από το gary εκτελέστε τα εξής:

ps U "gary"

Σημειώστε ότι αυτό δείχνει το πρόσωπο του οποίου τα διαπιστευτήρια χρησιμοποιούνται για την εκτέλεση της εντολής. Για παράδειγμα αν είμαι συνδεδεμένος ως gary και τρέχω την παραπάνω εντολή θα δείξει όλη την εντολή που τρέχει από μένα.

Αν συνδεθώ με τον Τομ και χρησιμοποιήσω το sudo για να εκτελέσω μια εντολή όπως εγώ τότε η παραπάνω εντολή θα δείξει την εντολή του Tom σαν να τρέχει από gary και όχι από tom.

Για να περιορίσετε τη λίστα μόνο στις διαδικασίες που τρέχει πραγματικά από το gary, χρησιμοποιήστε την ακόλουθη εντολή:

ps -U "gary"

Διαμόρφωση της εντολής ps Output

Από προεπιλογή, έχετε τις ίδιες 4 στήλες όταν χρησιμοποιείτε την εντολή ps:

Μπορείτε να πάρετε μια πλήρη λίστα, εκτελώντας την ακόλουθη εντολή:

ps -ef

Το -e όπως γνωρίζετε δείχνει όλες τις διεργασίες και το f ή -f δείχνει πλήρεις λεπτομέρειες.

Οι στήλες που επιστρέφονται έχουν ως εξής:

Το αναγνωριστικό χρήστη είναι το άτομο που εκτέλεσε την εντολή. Το PID είναι το αναγνωριστικό διαδικασίας της εντολής της εντολής. Το PPID είναι η γονική διαδικασία που ξεκίνησε η εντολή.

Η στήλη C δείχνει τον αριθμό των παιδιών που έχει μια διαδικασία. Το STime είναι η ώρα έναρξης της διαδικασίας. Το TTY είναι το τερματικό, ο χρόνος είναι ο χρόνος που χρειάστηκε για να τρέξει και η εντολή είναι η εντολή που εκτελέστηκε.

Μπορείτε να πάρετε ακόμη περισσότερες στήλες χρησιμοποιώντας την ακόλουθη εντολή:

ps -eF

Αυτό επιστρέφει τις ακόλουθες στήλες:

Οι επιπλέον στήλες είναι SZ, RSS και PSR. SZ είναι το μέγεθος της διαδικασίας, το RSS είναι το πραγματικό μέγεθος μνήμης και το PSR είναι ο επεξεργαστής στον οποίο έχει εκχωρηθεί η εντολή.

Μπορείτε να καθορίσετε μια μορφή που ορίζει ο χρήστης χρησιμοποιώντας τον ακόλουθο διακόπτη:

ps -e - μορφοποίηση <μορφής>

Οι διαθέσιμες μορφές έχουν ως εξής:

Υπάρχουν πολλές περισσότερες επιλογές, αλλά αυτές είναι οι πιο συχνά χρησιμοποιούμενες.

Για να χρησιμοποιήσετε τις μορφές, πληκτρολογήστε τα εξής:

ps -e - format = "uid uname cmd time"

Μπορείτε να αναμίξετε και να ταιριάξετε τα στοιχεία όπως θέλετε.

Ταξινόμηση εξόδου

Για να ταξινομήσετε την έξοδο χρησιμοποιήστε την ακόλουθη παράσταση:

ps -ef --sort

Η επιλογή των επιλογών ταξινόμησης είναι η εξής:

Και πάλι υπάρχουν περισσότερες επιλογές, αλλά αυτές είναι οι πιο συνηθισμένες.

Παράδειγμα εντολής ταξινόμησης είναι η εξής:

ps -ef --sor χρήστη, pid

Χρησιμοποιώντας ps Με grep, όλο και περισσότερες εντολές

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

Οι λιγότερες και περισσότερες εντολές θα σας βοηθήσουν να διαχωρίσετε τα αποτελέσματα μία σελίδα τη φορά. Για να χρησιμοποιήσετε αυτές τις εντολές απλώς διοχετεύστε την έξοδο από το grep σε αυτές ως εξής:

ps -ef | περισσότερο
ps -ef | πιο λιγο

Η εντολή grep σας βοηθά να φιλτράρετε τα αποτελέσματα από την εντολή ps.

Για παράδειγμα:

ps -ef | grep chrome

Περίληψη

Η εντολή ps χρησιμοποιείται συνήθως για την καταγραφή διαδικασιών στο Linux. Μπορείτε επίσης να χρησιμοποιήσετε την επάνω εντολή για να εμφανίσετε τρέχουσες διαδικασίες με διαφορετικό τρόπο.

Αυτό το άρθρο έχει καλύψει τους κοινούς διακόπτες, αλλά υπάρχουν περισσότερες διαθέσιμες και περισσότερες επιλογές μορφοποίησης και ταξινόμησης.

Για να μάθετε περισσότερα διαβάστε τις σελίδες man man Linux για την εντολή ps.