Μερικές Χρήσιμες Εντολές για Process Management σε συστήματα Linux

process-management

Πολλές φορές ,  είναι χρήσιμο , να ξέρουμε ποιες διεργασίες τρέχουν , να τερματίσουμε κάποια χειροκίνητα , η να δώσουμε σε κάποια προτεραιότητα έναντι των υπολοίπων . Τα Linux μας παρέχουν κάποιες εντολές για να κάνουμε τα παραπάνω . Ας δούμε ποιές είναι αυτές .

Προβολή Διεργασιών με την εντολή top

Η εντολή top στα Linux Συστήματα δείχνει όλες τις διεργασίες που τρέχουν τη δεδομένη στιγμή στο σύστημα , όπως και αλλες πληροφορίες πχ το cpu load , disk load , memory load κλπ . Ένα παραδειγμα εκτέλεσης της top είναι παρακάτω :

Για να έχουμε εύκολη πρόσβαση στον πίνακα διεργασιών που μας δείχνει η τοπ , μπορούμε να την κάνουμε παύση πατώντας ctrl + Z και όποτε την ξαναχρειαστούμε να την καλούμε στο προσκήνιο γράφοντας fg .

 

Προβολή και Φιλτράρισμα διεργασιών - Η εντολή ps

Η ps είναι μια εντολή που επιστρέφει μια λίστα απο διεργασίες καθώς και το ID τους , TTY ( terminal type ) , time , command . 

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

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

ps -A

Ή

ps -e 

Η ps χρησιμοποιείται συχνά για να φιλτράρουμε μια η μια ομάδα διεργασιών .

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

H ps -p pid μας φτιάχνει λίστα με τη διεργασία με ID pid

Αν θέλουμε παραπάνω απο μία διεργασία αυτο μπορεί να γίνει σε μια γράμμή έτσι :

Ps -p  ID1 , ID2 , ID3 , ……

Η εναλλακτικά μπορούμε να ψάξουμε μια εργασία με βάση το όνομα της και οχι το ID .

Ps -C

Παρακάτω είναι μια λίστα με άλλες χρήσιμες εφαρμογές της εντολής ps :

ps -G  εμφανίζει τις διεργασίες που τρέχουν απο το group groupname .

ps -G "accounts"   εμφανίζει τις διεργασίες που τρέχουν απο το account group accounts.

ps -t   : φιλτράρει με βάση το terminal type .

ps -s  : φιλτράρει με βάση το session id 

ps -U "user"   : δείχνει τις διεργασίες που εκτελούνται απτον χρήστη user

Αν θέλουμε να δούμε περισσότερες πληροφορίες χρησιμοποιούμε την

ps -eF 

Τότε , πέρα από τις 4 στύλες που είχαμε πριν θα δούμε και νέες , όπως UID (user ID) , SZ ( size of process) , RSZ (real size of process) , PSR(processor command is assigned to ) κλπ .



Προτεραιότητα Εργασιών με χρήση των nice-renice 

Στο default mode , σε ενα σύστημα Linux , όλες οι διεργασίες θεωρούνται ίδιας προτεραιότητας .

Η εντολή nice έχει στόχο να επιτρέψει στο χρήστη να επέμβει στην προτεραιότητα μιας νέας διεργασίας . Παίρνει τιμές απο -20 εώς 19 , με το -20 να ναι η τιμή της ύψιστης προεταραιότητας ενω το 19 της χαμηλότερης .

Για παράδειγμα nice -12 large-job

Η παραπάνω εντολή ξεκινά την διεργασία large-job με προτεραιότητα 12 .

Σημείωση : το (-) μπροστά από το 12 αποτελεί ανάθεση τιμής και όχι αρνητικό πρόσημο . Αν θέλουμε πχ να θέσουμε την προτεραιότητα στο -12 θα γράψουμε nice --12 large-job . 

Η εντολή renice αλλάζει την προτεραιότητα μιας εντολής που τρέχει ήδη!

Για παράδειγμα η renice 17 -p 1134 αλλάζει την προτεραιότητα της διεργασίας με ID 1134 σε 17

 

Η εντολή kill

Η εντολή kill στα συστήματα LInux χρησιμοποιείται για να στείλει ενα signal σε μια διεργασία . Στη βασική της μορφή η kill number για παραδείγμα τερματίζει την διεργασία με id number .

Κάθε σήμα είναι συσχετιζομενο μέ έναν αριθμό . Για να δούμε τη λίστα με τα σήματα και τους αριθμούς τους αρκεί να γράψουμε kill -l:

Για παράδειγμα η εντολή kill -9 number στέλνει στην διεργασία με ID number το σήμα sigterm που τερματίζει τη διεργασία .

Η kill δεν χρησιμοποιείται μόνο για να τερματίσει  διεργασίες  όμως . Το σήμα sighup πχ χρησιμοποιείται συχνά για να κάνει restart τον apache σερβερ : kill -1 apache_id .

Σημείωση : Η pkill είναι ακριβώς ίδια με την kill , με την διαφορά ότι της αναθέτουμε το όνομα της διεργασίας που θέλουμε να στείλουμε ένα σήμα και όχι το ID .

ΣΥΝΔΕΣΗ

Αίτηση επικοινωνίας

ΠΑΝΩ