CLOUD CONCEPT
Νερατζιωτίσσης 15, Μαρούσι, Αθήνα, 15124, Αττική
+30 211 8005 401
info@c2.gr
Πολλές φορές , είναι χρήσιμο , να ξέρουμε ποιες διεργασίες τρέχουν , να τερματίσουμε κάποια χειροκίνητα , η να δώσουμε σε κάποια προτεραιότητα έναντι των υπολοίπων . Τα Linux μας παρέχουν κάποιες εντολές για να κάνουμε τα παραπάνω . Ας δούμε ποιές είναι αυτές .
Η εντολή top στα Linux Συστήματα δείχνει όλες τις διεργασίες που τρέχουν τη δεδομένη στιγμή στο σύστημα , όπως και αλλες πληροφορίες πχ το cpu load , disk load , memory load κλπ . Ένα παραδειγμα εκτέλεσης της top είναι παρακάτω :
Για να έχουμε εύκολη πρόσβαση στον πίνακα διεργασιών που μας δείχνει η τοπ , μπορούμε να την κάνουμε παύση πατώντας ctrl + Z και όποτε την ξαναχρειαστούμε να την καλούμε στο προσκήνιο γράφοντας fg .
Η 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
ps -G "accounts" εμφανίζει τις διεργασίες που τρέχουν απο το account group accounts.
ps -t
ps -s
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 ) κλπ .
Στο 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 στα συστήματα 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 .