Ετικέτες

Πέμπτη 9 Δεκεμβρίου 2010

Finding and killing processes

Μερικές φορές τυγχάνει να κολάει μια εφαρμογή και να θέλουμε να την κλείσουμε αλλά να μην μπορούμε. Όπως πιθανόν να ξέρετε αυτό στο Linux γίνεται με την εντολή top (για να δεις ποιο id είναι η διεργασία που έχει κολλήσει) και μετά η εντολή kill ή kill 9 αν αντιστέκεται :)
Ωστόσο μου έτυχε μια από αυτές τις μέρες να μην μπορώ να βρω την διεργασία μέσα στην λίστα top, καθώς φαίνεται μόνο ένας αριθμός active διεργασιών και σαν να μην φτάνει αυτό η λίστα ανανεώνεται και δυναμικά, χάνοντας την σειρά με την οποία κοιτούσες. Αυτό εύκολα το ξεπερνάς πατώντας q για να βγεις και έτσι φαίνεται η λίστα όπως ήταν λίγο πριν πατήσεις το q. Ακόμα και έτσι δεν έβλεπα πουθενά το όνομα του προγράμματος που ήθελα να κλείσω. Έτσι μου ήρθε η ιδέα να χρησιμοποιήσω ένα trick που έμαθα όσο αναφορά τις εντολές του linux σε ένα μάθημα τις σχολής στα πλαίσια ενός εργαστηρίου. Μας είχε αναφέρει χαρακτηριστικά ο καθηγητής ότι βάζοντας το "|" ανάμεσα στις εντολές στην ουσία ανακατευθύνουμε την έξοδο της μιας εντολής στην είσοδο της άλλης.
Χρησιμοποιώντας λοιπόν αυτή την γνώση και συνδυάζοντας την εντολή top με την grep(στην ουσία είναι μια εντολή που κάνει search έναν όρο που θες, απλοϊκά μιλώντας) έκανα το εξής τέχνασμα:

top | grep "όνομα-διεργασίας"

με αυτόν τον τρόπο αντί να μου εμφανίζεται ολόκληρη η λίστα των διεργασιών της top, φιλτράρεται από την grep και έτσι εμφανίζονται μόνο οι διεργασίες που ταιριάζουν στο όνομα που έδωσα.
Έτσι κατάφερα να ξετρυπώσω την διεργασία που ήθελα να τερματίσω και έκανα ένα kill id όπου id ο αριθμός της και άντε γεια :)
Επιτέλους κατάφερα να κάνω και κάτι με τις ήδη υπάρχουσες γνώσεις χωρίς να χρειαστεί να ψάξω στο google όπως κάθε φορά :P
Αρκετές γνώσεις στον τομέα των υπολογιστών αλληλοκαλύπτονται και είμαι σίγουρος ότι η παραπάνω λογική θα με βοηθήσει και σε άλλα προβλήματα που θα συναντήσω στο μέλλον.

Δευτέρα 6 Δεκεμβρίου 2010

Προσάρτηση δίσκου

Κατά το στήσιμο του συστήματος μου χρησιμοποίησα 2 εσωτερικούς σκληρούς και μάλιστα τον έναν τον έκανα mount σε ένα δικό μου φάκελο για ευκολότερη πρόσβαση. Αυτό το κατάφερα πειράζοντας ένα αρχείο configuration και συγκεκριμένα το fstab μέσα στον φάκελο /etc/. Με λίγο ψάξιμο που έκανα στο διαδίκτυο πρόσθεσα μια γραμμή που όντως έκανε δουλειά και προσάρτησε τον δίσκο μου κανονικά εκεί που ήθελα.
Τις επόμενες μέρες ωστόσο διαπίστωσα ότι το bootarisma καμιά φορά αργούσε απελπιστικά, οπότε κάποια στιγμή δεν άντεξα άλλο και αποφάσισα να επιλύσω το πρόβλημα. Σε πρώτη φάση κατάφερα να βρω τα μηνύματα λάθους και κατάλαβα ότι έφταιγε ο σκληρός. Στην συνέχεια googlara αυτά τα μηνύματα και προσπάθησα να βρω λύση στο πρόβλημα μου. Έτσι κατέληξα να δοκιμάζω λύσεις που πρότειναν σε διάφορα forum μήπως και καταφέρω και βγάλω άκρη. Έφτασα να πειράξω μέχρι και το BIOS ωστόσο χωρίς αποτέλεσμα.
Τελικά δοκίμασα μια φαινομενικά απλή λύση, δηλαδή να πάω στο αρχείο που είχα πειράξει εξ´ αρχής, το fstab και να βάλω κάποιες default τιμές στην καταχώρηση που είχα κάνει. Ποιο συγκεκριμένα την δουλειά την έκανε μια αλλαγή ενός flag από 1 σε 0 και όλα πλέον λειτουργούν ρολόι.
Βέβαια παρόλο που κατάφερα να επιλύσω το πρόβλημα δεν είμαι ικανοποιημένος με τον τρόπο που το κατάφερα δηλαδή δοκιμάζοντας και αποτυγχάνοντας... γιατί στο τέλος μπορεί να βρήκα την λύση αλλά αυτό δεν σημαίνει κιόλας ότι την κατάλαβα. Παρόλο ότι αρχικά προσέγγισα το πρόβλημα συμβατικά δηλαδή ψάχνοντας στο διαδίκτυο για λύση, στο τέλος κατέληξα να δοκιμάζω διάφορα πράγματα για τα οποία δεν ήμουν σίγουρος τι κάνουν απλά τα έβλεπα στο εκάστοτε φόρουμ και τα δοκίμαζα. Θα ήθελα να είχα εντοπίσει την ρίζα του προβλήματος και να κατανοήσω πλήρως την λύση του, αλλά δυστυχώς τα διάφορα αποτελέσματα του google δεν είναι πάντοτε καλά.

for the record η προσθήκη που έκανα στο fstab:
UUID=6b331764-1a26-4978-9811-9a2c7276a1b4 /media/SlowDrive ext4 defaults 0 0

Παρασκευή 3 Δεκεμβρίου 2010

Read it later.

Πολλές φορές καταλήγω να έχω ανοικτές σελίδες σε διαφορετικά tabs τις οποίες θέλω να διαβάσω όποτε βρω χρόνο με αποτέλεσμα να καταναλώνω άσκοπα πόρους από τον υπολογιστή. Έτσι μια μέρα αποφάσισα να βάλω τέλος στις διάφορες ιστοσελίδες που είχα ανοικτές και να τις έχω κάπου όλες μαζί αποθηκευμένες. Η μία λύση σκέφτηκα θα ήταν να τις κάνω bookmark αλλά για κάποιο λόγο μου άρεσε περισσότερο η λύση μέσω ενός πρόσθετου που είχε πέσει τυχαία το μάτι μου και λέγεται Read it later.
Μου έλυσε τα χέρια γιατί πλέον όταν συναντάω ένα ενδιαφέρον site και θέλω να το εξερευνήσω περαιτέρω όταν θα έχω χρόνο, απλός πατάω το κουμπάκι read it later που βρίσκεται δίπλα στην διεύθυνση και αυτή αποθηκεύεται στην λίστα μου. Τώρα αν θα βρω χρόνο να διαβάσω όλα αυτά τα sites είναι άλλο θέμα :D.
Πάντως είναι αξιοπρόσεκτο ότι η πλειοψηφία των μαθησιακών γεγονότων μου βασίζονται καθαρά σε τυχαία γεγονότα και σχεδόν κανένα δεν προέκυψε από συστηματική μάθηση. Αυτό σίγουρα με προβληματίζει για το πως τελικά θα πρέπει να μαθαίνουμε τα πράγματα που αφορούν τους υπολογιστές. Σίγουρα οι βάσεις μπαίνουν με συστηματική μελέτη αλλά από εκεί και πέρα οι γνώσεις διευρύνονται με έναν αρκετά τυχαίο και περιστασιακό τρόπο.