Bagaimana saya bisa menghapus proses / aplikasi saat ini yang sudah ditetapkan ke port?
Sebagai contoh: localhost:8080
Langkah 1:
Buka cmd.exe (catatan: Anda mungkin perlu menjalankannya sebagai administrator, tetapi ini tidak selalu diperlukan), kemudian jalankan perintah di bawah ini:
netstat -ano | findstr :PORT_NUMBER
(Ganti PORT_NUMBER dengan nomor port yang Anda inginkan, tetapi pertahankan titik dua)
Area yang dilingkari merah menunjukkan PID (pengidentifikasi proses). Temukan PID dari proses yang menggunakan port yang Anda inginkan.
Langkah 2:
Selanjutnya, jalankan perintah berikut:
taskkill /PID PID /F
(Tidak ada titik dua kali ini)
Terakhir, Anda dapat memeriksa apakah operasi berhasil atau tidak dengan menjalankan kembali perintah di "Langkah 1". Jika berhasil, Anda tidak akan melihat hasil pencarian lagi untuk nomor port itu.
taskkill //PID 12552 //F
taskkill /PID PORT_NUMBER /F
Langkah 1 ( jawaban yang sama diterima oleh KavinduWije ):
Ubah pada Langkah 2 menjadi:
Catatan :
taskkill
tidak berfungsi di beberapa terminal git bashsumber
Dengan alat standar Windows 10:
Buka Windows PowerShell sebagai Administrator
Temukan PID (ProcessID) untuk port 8080:
Bunuh proses zombie:
di mana "77777" adalah PID Anda
sumber
set /p port="Enter port: "
-> Port inputFOR /F "tokens=5" %%T IN ('netstat -aon ^| findstr %port% ') DO ( SET /A ProcessId=%%T) &GOTO SkipLine
:SkipLine
-> Ekstrak PID ke dalam variabeltaskkill /f /pid %ProcessId%
-> Bunuh tugascmd /k
-> Biarkan jendela tetap terbukaJika Anda menggunakan GitBash
Langkah pertama:
Langkah dua:
(
/F
paksa menghentikan proses)sumber
Di Windows PowerShell versi 1 atau lebih baru untuk menghentikan proses pada port 3000 ketik:
Seperti yang disarankan oleh @morganpdx di sini lebih PowerShell-ish, versi yang lebih baik:
sumber
'Stop-Process' is not recognized as an internal or external command,
Stop-Process -Id (Get-NetTCPConnection -LocalPort 3000).OwningProcess -Force
Untuk digunakan di baris perintah:
Untuk digunakan dalam file bat:
sumber
Jika Anda sudah tahu nomor port, mungkin cukup mengirim sinyal terminasi perangkat lunak ke proses (SIGTERM):
sumber
lsof -nt -i4TCP:9001
juga.Untuk pengguna Windows, Anda dapat menggunakan alat CurrPorts untuk mematikan port yang sedang digunakan dengan mudah:
sumber
Saya menjalankan zookeeper di Windows dan tidak dapat menghentikan ZooKeeper yang berjalan di port 2181 menggunakan zookeeper-stop.sh, jadi coba metode double slash "//" ini ke taskkill. Itu berhasil
sumber
Jika Anda menggunakan Terminal Windows maka proses pembunuhan mungkin sedikit kurang membosankan. Saya telah menggunakan terminal windows dan
kill PID
berfungsi dengan baik bagi saya untuk mematikan proses pada port karena Terminal Windows baru mendukung perintah bash tertentu. Sebagai contoh:kill 13300
Jadi, proses lengkap akan terlihat seperti ini-
netstat -ano | findstr :PORT
kill PID
Sebagai contoh:
Lihat ketika saya mengetik perintah pertama untuk daftar proses pada port itu kembali kosong. Itu berarti semua proses terbunuh sekarang.
sumber
kill
. Sakit posting di sini jika saya menemukan.Anda dapat melakukannya dengan menjalankan file bat:
sumber
Jika Anda ingin melakukannya menggunakan Python: centang Apakah mungkin dalam python untuk mematikan proses yang mendengarkan pada port tertentu, misalnya 8080?
Jawaban dari Smunk bekerja dengan baik. Saya ulangi kodenya di sini:
sumber
Satu solusi garis menggunakan GitBash :
Ganti 8080 dengan port yang didengarkan oleh server Anda.
Jika Anda perlu sering menggunakannya, coba tambahkan
~/.bashrc
fungsi Anda:dan jalankan saja
sumber
Kita dapat menghindari ini dengan me-restart IIS secara sederhana, menggunakan perintah di bawah ini:
sumber