Το σύστημα Linux σας λειτουργεί αργά; Ή είστε απλώς περίεργος για το τι συμβαίνει κάτω από την κουκούλα; Υπάρχει ένα ισχυρό ενσωματωμένο πρόγραμμα που ονομάζεται "ps", το οποίο επιτρέπει στους χρήστες να δουν ένα στιγμιότυπο των διαδικασιών που εκτελούνται σε ένα σύστημα. Συζητάμε κάποιες από τις διαθέσιμες επιλογές για το ps και, τελικά, θα πρέπει να είστε σε θέση να ελέγξετε τις τρέχουσες διαδικασίες στον υπολογιστή σας στο linux σαν ένα έμπειρο nerd.

Εισαγωγή

Οι περισσότερες εκδόσεις του ps αποδέχονται τις επιλογές στυλ BSD (οι οποίες μπορεί να ομαδοποιούνται και ΔΕΝ πρέπει να χρησιμοποιούνται με παύλα), επιλογές στυλ UNIX (οι οποίες μπορεί να ομαδοποιούνται και ΠΡΕΠΕΙ να χρησιμοποιηθούν με μια παύλα) και τις μακριές επιλογές GNU (οι οποίες προηγούνται από δύο παύλες). Για αυτό το άρθρο, θα αναμίξουμε και θα χρησιμοποιήσουμε πολλαπλούς τύπους επιλογών, με προκατάληψη για στυλ UNIX. Για παράδειγμα:

 ps -u ρίζα u -sort = pid 
  • Το UNIX STYLE -u root καθορίζει το user = root
  • Το BSD STYLE u καθορίζει την εμφάνιση μορφής προσανατολισμένης στο χρήστη. Αυτή είναι μια αγαπημένη επιλογή αφού η μορφή εξόδου που παράγεται με τη χρήση αυτής περιέχει μερικές πολύ χρήσιμες πληροφορίες.
  • GNU LONG OPTION –sort καθορίζει τη σειρά ταξινόμησης της διαδικασίας. Σε αυτή την περίπτωση, ταξινομήστε κατά id id (pid)

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

 ps u 

δείχνει τις διαδικασίες από τον τρέχοντα χρήστη που είναι προσαρτημένες σε ένα τερματικό, με μια μορφή εξόδου "προσανατολισμένη στο χρήστη". Για να αποκτήσετε την ίδια μορφή εξόδου χρησιμοποιώντας τις επιλογές UNIX, απαιτείται η επιλογή

 ps -o "χρήστης, pid, pcpu, pmem, vsz, rss, tty, stat, bsdstart, bsdtime, args" 

Αυτή η εξήγηση του όρου "-o" είναι:

  • χρήστης - το πραγματικό userid ή το όνομα χρήστη της διαδικασίας
  • pid - το αναγνωριστικό διαδικασίας
  • pcpu - ο χρόνος cpu που χρησιμοποιείται από τη διαδικασία διαιρούμενος με τον χρόνο εκτέλεσης της διαδικασίας
  • pmem - το ποσοστό της φυσικής μνήμης που χρησιμοποιείται από τη διαδικασία
  • vsz - το μέγεθος εικονικής μνήμης της διαδικασίας
  • rss - η μη εναλλαγμένη φυσική μνήμη που έχει χρησιμοποιήσει η διαδικασία
  • tty - το τερματικό ελέγχου της διαδικασίας
  • stat - η κατάσταση της διαδικασίας, καθορίζεται χρησιμοποιώντας τους κωδικούς κατάστασης διεργασιών (διαβάστε τις σελίδες man για περισσότερες πληροφορίες)
  • start_time - η ώρα που ξεκίνησε η εντολή
  • time - ο αθροιστικός χρόνος cpu που χρησιμοποιείται από τη διαδικασία
  • args - η εντολή που χρησιμοποιείται για την εκτέλεση της διαδικασίας, μαζί με τα επιχειρήματά της. (Αυτός είναι ένας λόγος για τον οποίο δεν είναι ποτέ καλή ιδέα να εκτελέσετε μια εντολή και να εισαγάγετε τον κωδικό πρόσβασης ως ένα όρισμα γραμμής εντολών.Οποιοσδήποτε άλλος χρήστης στο σύστημα μπορεί να τρέξει ps και να δει τις εντολές που έχετε εκτελέσει μαζί με όλες τις επιλογές και τα επιχειρήματα που πέρασαν ).

Η σύμβαση που χρησιμοποιείται από εδώ και πέρα ​​θα είναι η εντολή (ps) που ακολουθείται από την επιλογή BSD 'u' για να καθορίσετε τη μορφοποίηση εξόδου και, στη συνέχεια, τις επιλογές UNIX και GNU όπως απαιτείται.

Ορισμένες επιλογές "PS"

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

Για να εμφανίσετε όλες τις τρέχουσες διαδικασίες:

 ps u -e 

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

 ps u -u `kamiami` 

Για να εμφανίζονται όλες οι διαδικασίες από τον τρέχοντα χρήστη, αλλά ταξινομημένες ανά cpu χρήση (φθίνουσα).

ΣΗΜΕΙΩΣΗ: Στην παρακάτω εντολή, χρησιμοποιούμε το "-pcpu" για να επιτύχουμε τη μείωση του ποσοστού χρήσης CPU. Για αύξουσα χρήση, χρησιμοποιήστε '+ pcpu' ή απλώς 'pcpu'. Συμβουλευτείτε τις σελίδες ανθρώπων για πρόσθετους προσδιοριστές ταξινόμησης. Μερικοί συνηθισμένοι είναι pmem (χρήση μνήμης), start_time (χρόνος εκτέλεσης της εντολής) και χρόνος (ποσότητα χρόνου cpu που χρησιμοποιείται από την εντολή).

 ps u -u `whoami` -sort = -pcpu 

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

 ps u -jH -u `heami` 

Χρησιμοποιώντας τους σωλήνες, το ps μπορεί να συνδυαστεί με το κεφάλι για να δείξει τις κορυφαίες διαδικασίες. Η επόμενη εντολή ταξινομείται πρώτα με τη χρήση της μνήμης πρώτα και στη συνέχεια διοχετεύει το κεφάλι για να δείξει τις διαδικασίες χρησιμοποιώντας τη μεγαλύτερη μνήμη. Η κεφαλή εμφανίζει τις πρώτες δέκα γραμμές από προεπιλογή, οπότε αυτή η εντολή θα εμφανίζει τις εννέα κορυφαίες διεργασίες (Η κεφαλίδα εξόδου είναι η πρώτη γραμμή).

Σημείωση: Τα "% mem" και "pmem" είναι συνώνυμα, όπως και το "% cpu" και το "pcpu".

 ps u -u `whoami` --sort = -% mem | κεφάλι 

Για να εμφανιστεί το ίδιο για όλες τις διαδικασίες, ανεξάρτητα από τον χρήστη, χρησιμοποιήστε την επιλογή -e :

 ps u -e --sort = -% mem | κεφάλι 

συμπέρασμα

Υπάρχουν κυριολεκτικά εκατοντάδες επιλογές (αν και μερικά είναι ψευδώνυμα) και θα θέλαμε να ακούσουμε και να δούμε τις αγαπημένες σας μεθόδους χρήσης. Παρακαλώ μοιραστείτε τα σχόλια παρακάτω.