Εντολή kill & pidoff

Ανώνυμος (χωρίς επαλήθευση) | Κυρ, 01/13/2008 - 23:19 | 3' | 1

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


Αν δώσουμε

ps

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

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

ps -ux

για να δούμε όλες τις
'δικές' μας διεργασίες, και

ps -aux

για να
δούμε όλες τις διεργασίες του συστήματος.


Τα
δεδομένα που τυπώνει η ps δεν είναι
ιδιαίτερα πολύπλοκα, αλλά αν θέλουμε
να βρούμε κάποια συγκεκριμένη διεργασία
μπορούμε για ευκολία να περάσουμε την
'έξοδο' της ps από την grep, ως εξής:

ps aux |
grep konqueror


Όταν π.χ. ψυλλιαζόμαστε την
ύπαρξη διεργασιών-ζόμπι (ξέρετε, εκείνες
που έχουν κολλήσει...), πρέπει να τις
βρούμε μία προς μία και μετά να τις
'σκοτώσουμε' με την εντολή

kill -9 pid

όπου
pid σημαίνει process identification number και είναι
ουσιαστικά ο αριθμός-ταυτότητα της
διεργασίας που εμφανίζεται στην 'έξοδο'
της ps.


Εναλλακτικά
όμως υπάρχει η εντολή pidof που μας δίνει
το pid μιας ενεργής διαδικασίας. Δίνοντας
, λόγου χάρη, pidof konqueror θα πάρουμε έναν ή
περισσότερους αριθμούς, π.χ

6465
1985 23494

Το
πλήθος των αριθμών αντικατοπτρίζει το
πλήθος των instances (στιγμιοτύπων) του Konq
που τρέχουμε, καθένα από τα οποία έχει
το δικό του pid. Όσο μεγαλύτερο είναι το
pid τόσο πιο πρόσφατα ξεκίνησε η αντίστοιχη
διεργασία. Κατόπιν 'σκοτώνουμε' το
Konqueror με kill -9 6465.


Μια
πολύ καλή χρήση του pidof είναι ότι μας
επιτρέπει να βρούμε το pid μιας ζητούμενης
εφαρμογής ακόμα κι όταν δεν μπορούμε
να το δούμε ιδίοις όμμασι από την ps, όπως
για παράδειγμα στα σκριπτάκια μας.


dimitris2007-5-13 2:0:2

Φόρουμ
Δώσε αστέρια!
Σχόλια