Saya mencoba untuk menutup tomcat menggunakan ./shutdown.sh
dari /bin
direktori tomcat . Tetapi menemukan bahwa server tidak ditutup dengan benar. Dan dengan demikian saya tidak dapat me-restart
tomcat saya berjalan di port 8080
.
Saya ingin membunuh proses kucing jantan berjalan 8080
. Saya pertama-tama ingin memiliki daftar proses yang berjalan pada port tertentu (8080) untuk memilih proses yang akan dimatikan.
linux
unix
port
kill-process
veer7
sumber
sumber
Jawaban:
Ini
fuser 8080/tcp
akan mencetak PID Anda dari proses terikat pada port itu.Dan ini
fuser -k 8080/tcp
akan membunuh proses itu.Hanya bekerja di Linux. Lebih universal adalah penggunaan
lsof -i4
(atau 6 untuk IPv6).sumber
fuser
. Hanya mengambil file, tidak mendukung-k
.fuser: command not found
, instal psmisc. Untuk CentOS / RHEL 7, jalankansudo yum install psmisc
Untuk daftar proses mendengarkan port 8080:
Untuk mematikan proses mendengarkan port 8080:
atau lebih keras:
(
-9
sesuai denganSIGKILL - terminate immediately/hard kill
sinyal: lihat Daftar Sinyal Bunuh dan Apa tujuan dari opsi -9 dalam perintah kill?. Jika tidak ada sinyal yang ditentukankill
, sinyal TERM alias-15
atausoft kill
dikirim, yang kadang-kadang tidak cukup untuk membunuh sebuah proses.).sumber
sudo
sudo lsof -i:8080
.Gunakan perintah
digunakan
grep java
sebagaitomcat
kegunaanjava
sebagai proses mereka.Ini akan menampilkan daftar proses dengan nomor port dan id proses
angka sebelumnya
/java
adalah id proses. Sekarang gunakankill
perintah untuk mematikan proses-9
menyiratkan proses tersebut akan dibunuh dengan paksa.sumber
netstat
.Saya akan menambahkan ini satu-liner untuk membunuh hanya DENGARKAN pada port tertentu:
kill -9 $(lsof -t -i:3000 -sTCP:LISTEN)
sumber
Anda dapat menggunakan perintah lsof. Biarkan nomor port seperti di sini adalah 8090
Perintah ini mengembalikan daftar proses terbuka pada port ini.
Sesuatu seperti…
Untuk membebaskan port, matikan proses menggunakannya (id prosesnya adalah 75782) ...
Yang ini berhasil untuk saya. di sini adalah tautan dari pos asli: tautan
sumber
Jika Anda ingin membunuh proses yang berjalan pada nomor port 8080 maka pertama-tama Anda harus menemukan nomor identifikasi proses (PID) port 8080 dan kemudian membunuhnya. Jalankan perintah berikut untuk menemukan P80 nomor port 8080:
Sini,
Jadi sekarang Anda dapat dengan mudah membunuh PID Anda menggunakan perintah berikut:
Sini,
Anda dapat menggunakan satu perintah untuk mematikan proses pada port tertentu menggunakan perintah berikut:
Untuk lebih lanjut Anda dapat melihat tautan berikut Cara membunuh proses pada port tertentu di linux
sumber
sudo kill -9 $(sudo lsof -t -i:8080)
bekerja untuk sayaCara terbaik untuk membunuh semua proses pada port tertentu;
sumber
Ini mencetak untuk menghentikan proses id dari semua yang berjalan pada
<port_number>
:Ini juga mencetak beberapa hal ke stderr, jadi:
Kami kemudian dapat menyediakan id proses ini ke
kill
perintah:Anda juga bisa meletakkan ini dalam suatu fungsi jika Anda sering melakukannya:
sumber
Dapatkan PID dari tugas dan bunuh.
sumber
lsof -ti:8080-8089 | xargs kill
.Untuk mengetahui pid layanan yang berjalan di port tertentu:
Anda akan mendapatkan deskripsi proses itu. Sekarang gunakan kill atau kill -9 pid. Mudah dibunuh.
misalnya
netstat -ap | grep :8080
Sekarang:
Ingatlah untuk menjalankan semua perintah sebagai
root
sumber
Satu liner
penjelasan di sini: gunakan kombinasi
lsof and kill
pilih pid dan gunakan
kill
sumber
coba seperti ini,
sumber
Pilih nomor port dan terapkan perintah grep di netstat seperti yang ditunjukkan di bawah ini
Output Konsol
Matikan layanan berdasarkan PID (Nomor Identifikasi Proses)
sumber
lsof -i tcp:8000
Perintah ini mencantumkan informasi tentang proses yang berjalan di port 8000kill -9 [PID]
Perintah ini membunuh prosesnyasumber
Linux : Pertama, Anda dapat menemukan PID dari perintah ini jika Anda tahu portnya:
contoh:-
Anda kemudian mengambil proses pembunuhan. jalankan perintah berikut:
bunuh -9 PID
Contoh: -
bunuh -9 15986
sumber
Linux : Anda dapat menggunakan perintah ini jika Anda tahu port:
AIX :
Anda kemudian mengambil kolom pertama (contoh: f100050000b05bb8) dan menjalankan perintah berikut:
proses membunuh.
sumber
Anda dapat mengetahui daftar semua port yang berjalan dalam sistem beserta perinciannya (pid, alamat, dll.):
Anda dapat mengetahui detail nomor port tertentu dengan memberikan nomor port dalam perintah berikut:
mis: sudo netstat -lutnp | grep -w '8080' Detail akan diberikan seperti ini:
jika Anda ingin mematikan proses menggunakan pid maka :
kill -9 {PID}
jika Anda ingin mematikan proses menggunakan nomor port :
fuser -n tcp {port_number}
gunakan
sudo
jika Anda tidak dapat mengaksesnya.sumber
kill -9 `fuser 8080/tcp|xargs -n 1`
, perintah ini juga membunuh proses yang mendengarkan pada port 8080 dengan koneksi TCPsumber
Hasil: 80 / tcp: 1858 1867 1868 1869 1871
Bunuh proses satu per satu
bunuh -9 1858
sumber
Saya sedang mengerjakan sistem Yocto Linux yang memiliki seperangkat alat Linux yang tersedia. Saya ingin membunuh proses yang menggunakan port tertentu (1883).
Pertama, untuk melihat port apa yang kita dengarkan saya menggunakan perintah berikut:
Selanjutnya, saya menemukan nama proses menggunakan port 1883 dengan cara berikut:
Seperti yang bisa kita lihat di atas, itu adalah program
/usr/sbin/mosquitto
yang menggunakan port 1883.Terakhir, saya membunuh proses:
Saya menggunakan
systemctl
karena dalam hal ini ini adalah layanan systemd.sumber
Dalam kasus saya cent os memiliki beberapa masalah dalam jawaban yang disarankan. Jadi saya menggunakan solusi berikut:
sumber
untuk membangun apa yang dikatakan @ veer7 :
jika Anda ingin tahu apa yang ada di pelabuhan, lakukan ini sebelum Anda membunuhnya.
Gunakan 'ps' dan jumlah proses yang dilaporkan netstat kembali
sumber
Cara lain dengan Git Bash:
sumber
netstat -lt
fuser <port number>/tcp
kill <process id>
sumber
Di Windows, itu akan terjadi
netstat -ano | grep "8080"
dan kami mendapatkan pesan berikutTCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 10076
KAMI dapat membunuh PID menggunakan
taskkill /F /PID 10076
sumber