Por que netstat não sai, a menos que você dê a ele o sinalizador n?
Jared Beach
2
@JaredBeach - está aguardando a resolução inversa do nome DNS, portanto, terminará eventualmente após o término do tempo limite. Se isso travar em IPs internos , isso sugere um problema com seus servidores DNS locais.
Steve Friedl
7
Se quiser fazer isso programaticamente, você pode usar algumas das opções fornecidas a você da seguinte maneira em um script do PowerShell:
Contudo; esteja ciente de que quanto mais preciso você for, mais preciso será o resultado do PID. Se você souber em qual host a porta deve estar, você pode restringi-la muito. netstat -aon | findstr "0.0.0.0:9999"retornará apenas um aplicativo e, provavelmente, o correto. Apenas pesquisar o número da porta pode fazer com que você retorne processos que apenas possuem 9999nele, como este:
O candidato mais provável geralmente termina primeiro, mas se o processo terminou antes de você executar o script, você pode acabar com o PID 12331 e encerrar o processo errado.
Depois de mexer em um script, cheguei a esta ação. Copie e salve em um arquivo .bat:
FOR /F "usebackq tokens=5" %%i IN (`netstat -aon ^| find "3306"`) DO taskkill /F /PID %%i
Altere 'find "3306"' no número da porta que precisa ser livre. Em seguida, execute o arquivo como administrador. Isso vai matar todos os processos em execução nesta porta.
Respostas:
Basta abrir um shell de comando e digitar (dizendo que sua porta é 123456):
Você verá tudo que você precisa.
Os cabeçalhos são:
fonte
nestat -aon | findstr 123456
Encontre o PID de um processo que usa uma porta no Windows (por exemplo, porta: "9999")
-a
Exibe todas as conexões e portas de escuta.-o
Exibe o ID do processo proprietário associado a cada conexão.-n
Exibe endereços e números de porta em formato numérico.Resultado:
Em seguida, elimine o processo por PID
/F
- Especifica o encerramento forçado do (s) processo (s).Nota: Você pode precisar de uma permissão extra (executar do administrador) para encerrar alguns processos
fonte
Se quiser fazer isso programaticamente, você pode usar algumas das opções fornecidas a você da seguinte maneira em um script do PowerShell:
Contudo; esteja ciente de que quanto mais preciso você for, mais preciso será o resultado do PID. Se você souber em qual host a porta deve estar, você pode restringi-la muito.
netstat -aon | findstr "0.0.0.0:9999"
retornará apenas um aplicativo e, provavelmente, o correto. Apenas pesquisar o número da porta pode fazer com que você retorne processos que apenas possuem9999
nele, como este:O candidato mais provável geralmente termina primeiro, mas se o processo terminou antes de você executar o script, você pode acabar com o PID 12331 e encerrar o processo errado.
fonte
Depois de mexer em um script, cheguei a esta ação. Copie e salve em um arquivo .bat:
Altere 'find "3306"' no número da porta que precisa ser livre. Em seguida, execute o arquivo como administrador. Isso vai matar todos os processos em execução nesta porta.
fonte
Comando:
Resultado:
Agora corte o ID do processo, "10396", usando o
for
comando no Windows.Comando:
Resultado:
10396
Se você quiser cortar o 4º número do valor significa "LISTENING", então o comando no Windows.
Comando:
Resultado:
OUVINDO
fonte
Isso ajuda a encontrar o PID usando o número da porta.
fonte
'lsof' is not recognized as an internal or external command.
PowerShell (compatível com Core) one-liner para facilitar os cenários de copypaste:
Resultado:
Mesmo código, amigável ao desenvolvedor:
fonte