Jan 20, 2008

Παρακολουθώντας τα ανοικτά αρχεία (open files) στο Linux

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

Το πρώτο από αυτά είναι το fuser που αναφέρει τις διεργασίες (processes) που επεξεργάζονται ένα συγκεκριμένο αρχείο. Για παράδειγμα, ξεκινώντας τον JDeveloper, και ανατρέχοντας στο directory που βρίσκεται το executable του ($JDEV_HOME/jdev/bin, αρχείο jdev), αν πληκτρολογήσουμε την εντολή "fuser -v jdev" θα δούμε τις διεργασίες που έχουν ανοίξει αυτό το αρχείο.

Επιπλέον, με την εντολή fuser, έχουμε τη διακριτική ευχέρεια να τερματίσουμε (kill) τις διεργασίες που έχουν ανοίξει τα αρχεία που μας ενδιαφέρουν, χρησιμοποιώντας τις κατάλληλες παραμέτρους.

Ακολουθώντας μια διαμετρική προσέγγιση, το εργαλείο "lsof" μας παρουσιάζει όλα τα ανοικτά αρχεία του συστήματος. Η συνηθέστερη χρησιμοποίησή του είναι σε συνδυασμό με την εντολή grep, προκειμένου να βρούμε όλα τα αρχεία που χρησιμοποιεί μια συγκεκριμένη εφαρμογή, όπως για παράδειγμα ο JDeveloper.

1 comment: