Alat CLI yang menampilkan port dan proses yang terbuka dalam sekali lihat
(github.com/givvemee)Saat mengembangkan, kita jadi tak terhitung berapa kali mengetik perintah seperti lsof -i :3000.
"Port ini sedang dipakai apa?", "Sepertinya server yang tadi belum dimatikan..."
ports-cli adalah alat CLI yang menampilkan semua port yang sedang terbuka dengan rapi beserta nama proses dan path proyeknya.
Fitur utama
- Sekali lihat: Menampilkan port yang terbuka, nama proses, dan path proyek dalam bentuk tabel
- Pengenalan proyek Node.js: Membaca
package.jsonlalu menampilkan nama proyek sebenarnya alih-alihnode - Filter proses pengguna: Dengan opsi
-u, mengecualikan proses sistem dan hanya memeriksa proses yang saya jalankan - Hentikan:
ports bye 3000untuk langsung membunuh proses pada port tersebut
Instalasi
brew tap givvemee/tap
brew install ports-cli
Cara pakai
ports # tampilkan semua port listening
ports -u # hanya proses yang saya jalankan
ports bye 3000 # hentikan proses pada port 3000
Contoh output
PORT PROCESS PATH
---- ------- ----
3000 my-app ~/Documents/GitHub/my-app
5432 postgres -
8080 test-server ~/Documents/GitHub/test-server
Khusus macOS, berjalan ringan sebagai skrip Bash tanpa dependensi tambahan.
Masukan sangat disambut. :)
6 komentar
Oh, ada beberapa fitur praktis juga ya. 馃憤馃徎
Untuk macOS, tanpa instalasi terpisah pun Anda bisa mengeceknya dengan sederhana lewat perintah di bawah ini.
Kalau ditambahkan ke
~/.zshrc, akan lebih praktis.(Saya bagikan sebagai referensi!)
alias portcheck="printf "\033[4;37m%-15s %-8s %-20s %s\033[0m\n" "COMMAND" "PID" "PORT" "DIR"; sudo lsof -iTCP -sTCP:LISTEN -n -P | awk 'NR>1 {print $2, $1, $9}' | sort -u | while read pid cmd port; do dir=$(sudo lsof -p "$pid" -a -d cwd -F n 2>/dev/null | tail -1 | cut -c2-); printf "\033[1;32m%-15s\033[0m \033[1;36m%-8s\033[0m \033[1;33m%-20s\033[0m %s\n" "$cmd" "$pid" "$port" "$dir"; done"
Jadi Anda membuat alias
portcheckseperti ini untuk dipakai. Metode seperti ini juga bisa jadi pilihan. Terima kasih!Saya membagikannya lagi karena ada masalah dengan tanda kutip ganda.
alias portcheck='printf "\033[4;37m%-36s %-8s %-22s %s\033[0m\n" "COMMAND" "PID" "LISTEN" "CWD"; sudo lsof -nP -iTCP -sTCP:LISTEN -F pcn 2>/dev/null | awk '"'"'BEGIN{pid=cmd=name=""}/^p/{pid=substr($0,2)}/^c/{cmd=substr($0,2)}/^n/{name=substr($0,2);if(pid&&cmd&&name)print pid"\t"cmd"\t"name}'"'"' | sort -u | while IFS=$'"'"'\t'"'"' read -r pid cmd name; do dir=$(sudo lsof -n -p "$pid" -a -d cwd -F n 2>/dev/null | sed -n '"'"'s/^n//p'"'"' | tail -1); [ -z "$dir" ] && dir="-"; printf "\033[1;32m%-36.36s\033[0m \033[1;36m%-8s\033[0m \033[1;33m%-22s\033[0m %s\n" "$cmd" "$pid" "$name" "$dir"; done'
Saya penasaran apa kelebihannya dibanding
sudo netstat -tnlp.Kalau dicoba, Anda akan tahu bahwa alat ini menampilkannya dengan susunan yang lebih rapi.
Ada juga fitur filter sehingga pengguna bisa melihat hanya proses yang sedang mereka gunakan secara langsung.
Oh, saya langsung pasang dan coba pakai, ternyata simpel jadi enak digunakan!!
Terima kasih wkwk