No Windows, o que pode procurar pela porta 8080 e tentar eliminar o processo usado por meio de um arquivo .BAT?
windows
batch-file
process
kill-process
Mike Flynn
fonte
fonte
Respostas:
Aqui está um comando para você começar:
Quando estiver confiante no seu arquivo em lotes, remova
@ECHO
.Observe que você pode precisar alterar isso um pouco para diferentes sistemas operacionais. Por exemplo, no Windows 7, você pode precisar em
tokens=5
vez detokens=4
.Como isso funciona
Isso permite que você execute
command
e faça um loop sobre sua saída. Cada linha será inserida%variable
e poderá ser expandidaotherCommand
quantas vezes você quiser, onde quiser.%variable
no uso real, só pode ter um nome de uma letra, por exemplo%V
.Isso permite que você divida cada linha por espaço em branco, pegue o quarto pedaço dessa linha e coloque-o
%variable
(no nosso caso%%P
).delims
parece vazio, mas esse espaço extra é realmente significativo.Basta executá-lo e descobrir. De acordo com a ajuda da linha de comando, ele "Exibe todas as conexões e portas de atendimento". "," Exibe endereços e números de portas em formato numérico. "E" Exibe o ID do processo proprietário associado a cada conexão. ". Eu apenas usei essas opções, já que alguém o sugeriu e funcionou :)
Isso pega a saída do primeiro comando ou programa (
netstat
) e a passa para um segundo programa de comando (findstr
). Se você estivesse usando isso diretamente na linha de comando, em vez de dentro de uma cadeia de comando, você usaria em|
vez de^|
.Isso filtra qualquer saída que é passada para ele, retornando apenas as linhas que contêm
:8080
.Isso mata uma tarefa em execução, usando o ID do processo.
Isso é necessário em arquivos em lote. Se você fez isso no prompt de comando, usaria
%P
.fonte
HELP FOR
na linha de comando para ver um monte de outras opções queFOR
lhe dão, e verificarnetstat -?
,findstr /?
eTaskKill /?
para ainda mais ajuda.tokens=4
é o Windows XP, eu acho, e otokens=5
Windows 7. Também é uma boa ideia/F
forçar a matança.Abra o prompt de comando e execute os seguintes comandos
, aqui 3116 é o ID do processo
fonte
Para encontrar um processo específico na linha de comando, use o comando abaixo aqui 8080 é a porta usada pelo processo
matar processo use o comando abaixo aqui 21424 é o ID do processo
fonte
O uso da solução de Merlyn causou a morte de outros aplicativos, como o Firefox. Esses processos estavam usando a mesma porta, mas não como ouvinte:
por exemplo:
Portanto, é possível excluí-los adicionando "LISTENING" ao findstr da seguinte maneira:
fonte
Para listar todo o processo em execução na porta 8080, faça o seguinte.
Em seguida, para matar o processo, execute o seguinte comando
fonte
Obrigado a todos, apenas para adicionar que algum processo não será fechado, a menos que a opção / F force também seja enviada com o TaskKill. Também com a opção / T, todos os threads secundários do processo serão fechados.
Para serviços, será necessário obter o nome do serviço e executar:
fonte
Apenas para conclusão:
Eu queria matar todos os processos conectados a uma porta específica, mas não o processo de escuta
o comando (no shell do cmd) para a porta 9001 é:
findstr :
netstat :
Funciona porque o netstat imprime a porta de origem, a porta de destino e, em seguida, ESTABELECIDO
fonte
Criado um arquivo bat com o conteúdo abaixo, ele aceita a entrada para o número da porta
Por fim, clique em "Enter" para sair.
fonte
Se você deseja interromper o processo que está escutando na porta 8080, você pode usar o PowerShell. Basta combinar o
Get-NetTCPConnection
cmdlet comStop-Process
.Testado e deve funcionar com o PowerShell 5 no Windows 10 ou Windows Server 2016. No entanto, acho que também deve funcionar em versões mais antigas do Windows com o PowerShell 5 instalado.
Aqui está um exemplo:
fonte
Semelhante à resposta de Merlyn, mas esta também lida com esses casos:
Aqui está:
fonte
Passos:
Vá para a
conf
pasta do seu servidor apache tomcat . No meu caso, éapache-tomcat-7.0.61\conf
como eu estou usando apache-tomcat-7.0.61Abra
server.xml
e altere o número da porta de 8080 para qualquer outra porta como desejar. Por exemplo: 8081,8082,8087 etcAgora vá para a
bin
pasta e executeshutdown.bat
Agora reinicie o servidor através do eclipse.
Agora seu projeto funcionará sem interrupção.
fonte
Se alguém estiver procurando por um Script do Powershell:
Essa função basicamente faz o que as funções acima fazem, mas está no formato de script do Powershell, para que você possa adicioná-lo ao seu perfil do Powershell. Para encontrar a localização do seu perfil, vá para o PowerShell e digite
echo $profile
fonte
netstat
ferramenta.Cole isso na linha de comando
Se você quiser usá-lo em um lote pu em
%%P
vez de%P
fonte
netstat
ferramenta foi traduzida para outros idiomasse você pelo sistema, você não pode terminar a tarefa. tente este comando
x:> parada de rede http / y
fonte