Thursday, April 8, 2010

Matar el procés que bloqueja un port... al Windows

Quan treballes amb servidors Tomcat i similars, de vegades hi ha algun programa que està ocupant un port i t'interessa aturar-lo. Ja tenia apresa la sèrie de comandes en Linux per detectar i matar (si cal) els processos conflictius, però quan em va passar l'altre dia amb un Windows vaig dir-me, es podrà fer això amb la línia de comandes?

Segur que existeix un programa que t'ho permet fer amb quatre clics, però jo volia saber si es podia amb un trist cmd.

Les comandes màgiques són netstat, find, tasklist i taskkill.


C:\>netstat -ano | FIND ":80"
TCP 127.0.0.1:80 0.0.0.0:0 LISTENING 3396
TCP 127.0.0.1:8009 0.0.0.0:0 LISTENING 3396
TCP 127.0.0.1:8083 0.0.0.0:0 LISTENING 3396

C:\>tasklist | FIND "3396"
javaw.exe 3396 Console 0 440.652 K

C:\>tasklist /FI "PID eq 2188"

Image Name PID Session Name Session# Mem Usage
========================= ====== ================ ======== ============
msnmsgr.exe 2188 Console 0 33.304 K

C:\>taskkill /PID 3396 /T /F
SUCCESS: The process with PID 3396 child of PID 2676 has been terminated.

C:\>tasklist | FIND "3396"

1 comment:

David said...

Calia l'ano?