Δευτέρα 15 Νοεμβρίου 2010

Μέθοδος για αναγνώριση θύρας(port) που χρησιμοποιείται απο κάθε διεργασία

Είναι γνωστό πως κάποια προγράματα χρησιμοποιούν το ίδιο Port Number, με αποτέλεσμα να μην μπορούν να τρέξουν και τα δύο ταυτόχρονα. Έαν το ένα απο αυτά τρέχει, το άλλο θα παρουσιάσει σφάλμα το οποίο θα λέει κάτι τέτοιο..


Σε τέτοιες περιπτώσεις, υπάρχουν δύο εναλλακτικές λύσεις. Η μία απο αυτές είναι να αλλάξουμε το Port Number που χρησιμοποιείται απο το δεύτερο πρόγραμμα ώστε να διαφέρει απο αυτό του άλλου που ήδη τρέχει (πχ. Εδώ ο MySQL server προσπαθεί να τρέξει στο Port 3306 το οποίο χρησιμοποιείται απο άλλη διεργασία). Αυτό, σε μερικά προγραμματα όπως είναι το Skype είναι εύκολο να γίνει, πηγαίνοντας στα Options του προγράματος και στο πεδίο Use Port βάζουμε ένα διαφορετικό αριθμό.
Σε πιο πολύπλοκα προγράμματα όπως είναι ο MySQL server, πολλές φορές δεν είναι και τόσο απλό να αλλάξουμε το Port Number που χρησιμοποιούν. Έτσι μπορούμε να ακολουθήσουμε μια εναλλακτική διαδικασία για να επιλύσουμε το πρόβλημα.
Αν και εδώ στο Error Message λέει πως το Port 3306 χρησιμοποιείται, δεν διευκρινίζει ποιά διεργασία το χρησιμοποιεί. Αυτό που παρουσιάζεται στο πιο κάτω video  είναι πως μπορούμε να βρούμε, ποια διεργασία χρησιμοποιεί το συγκεκριμένο Port 3306 ώστε να την τερματίσουμε και να μπορέσουμε να τρέξουμε τον MySQL server.
video link :   http://www.youtube.com/watch?v=w2DFbI2sJ-E

Αυτό είναι ένα απο τα πολλά προβλήματα για τα οποία ο πιο εύκολος τρόπος να βρείς άμεση λύση είναι χρησιμοποιώντας το google. Εναλλακτική θα ήταν να βρείς το manual του προγράμματος και να ανακαλύψεις απο μόνος σου την λύση. Εδώ μπαίνει στο θέμα μας ο τρόπος με τον οποίο αντιμετωπίζουμε το πρόβλημα. Αρχικά έψαξα για "how to change port number of MySQL server". Μόλις είδα πως η λύση αυτή ήταν πολύπλοκη, είπα να δοκιμάσω εναλλακτική λύση. Αφού ήξερα ποιο Port ήταν σε χρήση, το μόνο που έμενε ήταν να βρώ ποια διεργασία το χρησιμοποιεί. Επομένως έψαξα για  "How to determine which program is using a given port" το οποίο μου επέστρεψε μια λύση την οποία θεωρούσα ευκολότερη να εφαρμόσω. Αυτό έπραξα και έδωσα λύση στο πρόβλημα.
Φυσικά, αργότερα, απο περιέργεια και μόνο δοκίμασα και την άλλη λύση η οποία δούλευε, αλλά μου πήρε αρκετό χρόνο.
Το μάθημα που πήρα ήταν, όταν παρουσιάζεται ένα πρόβλημα, εάν μια λύση που βρίσκεται αρχικά θεωρείται πολύπλοκη, να ψάχνουμε για κάποια εναλλακτική(πιο γενική). Εάν βρεθεί και είναι ευκολότερη, καλό είναι να ακολουθούμε αυτή. Δηλαδή, είναι ευκολότερο να τερματίσεις μια εφαρμογή που χρησιμοποιεί το ίδιο Port Number με μια άλλη, παρά να ψάχνεις κάθε φορά πώς να αλλάξεις το Port Number συγκεκριμένης εφαρμογής.
 

Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου