Πώς μπορώ να βρω (και να τερματίσω) διεργασίες που ακούν/χρησιμοποιούν τις θύρες tcp μου; Χρησιμοποιώ mac os x.
Μερικές φορές, μετά από μια συντριβή ή κάποιο σφάλμα, η εφαρμογή rails μου κλειδώνει τη θύρα 3000. Δεν μπορώ να το βρω χρησιμοποιώντας το ps -ef...
Όταν κάνω
rails server
Παίρνω...
Η διεύθυνση είναι ήδη σε χρήση - bind(2) (Errno::EADDRINUSE)
Ενημέρωση 2014:
Για να συμπληρώσετε ορισμένες από τις παρακάτω απαντήσεις: Μετά την εκτέλεση των εντολών kill, ενδέχεται να είναι απαραίτητη η διαγραφή του αρχείου pid rm ~/mypath/myrailsapp/tmp/pids/server.pid
Μπορείτε να δοκιμάσετε το netstat
netstat -vanp tcp | grep 3000
Για macOS El Capitan και νεότερες εκδόσεις (ή αν το netstat σας δεν υποστηρίζει το -p
), χρησιμοποιήστε το lsof
.
sudo lsof -i tcp:3000
Για Centos 7 χρησιμοποιήστε
netstat -vanp --tcp | grep 3000
Μπορείτε να χρησιμοποιήσετε το lsof -i:3000
.
Αυτό σημαίνει "Λίστα ανοικτών αρχείων". Αυτό σας δίνει μια λίστα με τις διεργασίες και ποια αρχεία και θύρες χρησιμοποιούν.