Di Linux, proses dan port memiliki hubungan simbiosis. Yang satu tidak dapat ada atau berfungsi tanpa yang lain. Proses cenderung berbagi port dan beberapa proses bergantung pada port tertentu untuk memenuhi tujuan sistem operasi.
Panduan artikel ini memberi Anda panduan tentang cara mengosongkan port yang digunakan oleh satu proses untuk digunakan di proses lain.
Cara Mendaftar Port dengan Proses Terkaitnya
Jika Anda dapat mencantumkan port yang ditargetkan dan proses PID , Anda dapat mematikan proses yang terkait dengannya. Ada beberapa alat yang dapat Anda gunakan untuk membuat daftar port yang digunakan secara aktif di Linux.
Rekomendasi atau pendekatan yang lebih fleksibel adalah melalui perintah statistik jaringan (netstat) atau perintah ss (lebih cepat dari netstat ). Ini adalah instalasi default di sebagian besar distribusi Linux tetapi Anda dapat menginstalnya dengan perintah berikut jika tidak ada.
Instal Netstat dan Perintah SS di Linux
$ sudo apt-get install net-tools iproute [On Debian/Ubuntu & Mint] $ sudo dnf install net-tools iproute [On CentOS/RHEL/Fedora and Rocky Linux/AlmaLinux] $ pacman -S netstat-nat iproute [On Arch Linux] $ emerge sys-apps/net-tools iproute [On Gentoo] $ sudo dnf install net-tools iproute [On Fedora] $ sudo zypper install net-tools iproute [On openSUSE]
Untuk membuat daftar port dan mengetahui apakah port tersebut dikunci ke proses atau layanan tertentu, patuhi aturan sintaks berikut.
$ sudo netstat -ltnp | grep -w ':[targeted_port]' OR $ ss -ltnp | grep -w ':[targeted_port]'
Misalnya, proses atau layanan yang mendengarkan port 80 dapat dicantumkan dengan cara berikut.
$ sudo netstat -ltnp | grep -w ':80' OR $ ss -ltnp | grep -w ':80'
Di bawah string perintah “netstat -ltnp ”, opsi -p
menunjuk ke 1520 yang merupakan PID dari proses yang ingin Anda bunuh. Perhatikan itu.
Cara Membuat Proses Dummy di Linux
Agar tidak mengacaukan ekosistem sistem operasi Linux Anda, kami akan membuat beberapa proses tiruan dan menggunakannya untuk menunjukkan tujuan artikel ini. Kami akan menggunakan “socat ” utilitas baris perintah untuk membuat proses demo kami.
Mari kita lakukan tiga proses di bawah SCTP , TCP , dan UDP protokol masing-masing. Kami akan mengikat proses baru ini ke port acak seperti 9999 .
Perintah berikut akan menghasilkan proses sementara dengan PID (ID Proses ) dari 8695 .
$ socat sctp-listen:9999,bind=127.0.0.1 stdout &
Perintah berikut akan menghasilkan proses sementara dengan PID (ID Proses) dari 9080 .
$ socat tcp-listen:9999,bind=127.0.0.1 stdout &
Perintah berikut akan menghasilkan proses sementara dengan PID (ID Proses) dari 9270 .
$ socat udp-listen:9999,bind=127.0.0.1 stdout &
Cara Membunuh Proses dengan PID (Process ID)
Menggunakan "kill -9"
perintah, kita dapat menyingkirkan proses yang menyandera nomor port yang ingin kita gunakan pada proses lain yang diprioritaskan. Dalam hal ini, kami membuat tiga proses dengan PID 8695 , 9080 , dan 9270 .
Untuk mematikan proses di bawah PID 8695 , saya menjalankan perintah berikut:
$ kill -9 8695
Kita bahkan bisa membunuh lebih dari satu proses sekaligus. Untuk mematikan proses yang dibuat dengan PID 9080 dan 9270 , gunakan perintah yang mirip dengan ini:
$ kill -9 9080 9270
Baik Anda mematikan satu proses atau lebih dari satu proses secara bersamaan, eksekusi perintah kill harus mengarah ke instance terminal kosong seperti yang digambarkan di atas.
Untuk mengonfirmasi bahwa proses tidak lagi aktif, kami akan mencoba menjalankan kembali perintah kill :
$ kill -9 8695
Pesan kesalahan akan menunjukkan bahwa proses tidak lagi aktif. Juga, dua proses yang baru saja dihentikan [2] 9080 dan [3] 9270 ditampilkan sebagai tidak aktif lagi.
Catatan Akhir
Aturan mematikan proses yang sedang berjalan itu sederhana. Pertama, identifikasi port yang ingin Anda gunakan melalui “netstat ” atau “ss” perintah dan kemudian perhatikan PID melekat pada proses. Terakhir, Gunakan “bunuh -9” perintah bersama dengan PID identified yang diidentifikasi untuk menyingkirkan proses itu.