Este é o processo que eu quero matar:
sooorajjj@Treako ~/Desktop/MerkMod $ sudo netstat -tunap | grep :80
tcp6 0 0 :::80 :::* LISTEN 20570/httpd
Existem várias maneiras de descobrir qual processo em execução está usando uma porta.
Usando o fusor, ele fornece o (s) PID (s) das várias instâncias associadas à porta de escuta.
sudo apt-get install psmisc
sudo fuser 80/tcp
80/tcp: 1858 1867 1868 1869 1871
Depois de descobrir, você pode parar ou matar o (s) processo (s).
Você também pode encontrar os PIDs e mais detalhes usando lsof
sudo lsof -i tcp:80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 1858 root 6u IPv4 5043 0t0 TCP ruir.mxxx.com:http (LISTEN)
nginx 1867 www-data 6u IPv4 5043 0t0 TCP ruir.mxxx.com:http (LISTEN)
nginx 1868 www-data 6u IPv4 5043 0t0 TCP ruir.mxxx.com:http (LISTEN)
nginx 1869 www-data 6u IPv4 5043 0t0 TCP ruir.mxxx.com:http (LISTEN)
nginx 1871 www-data 6u IPv4 5043 0t0 TCP ruir.mxxx.com:http (LISTEN)
Para limitar os soquetes que escutam na porta 80 (em oposição aos clientes que se conectam à porta 80):
sudo lsof -i tcp:80 -s tcp:listen
Para matá-los automaticamente:
sudo lsof -t -i tcp:80 -s tcp:listen | sudo xargs kill
-k
opção de eliminar todos os processos correspondentes e-i
matar de forma interativa (solicitando cada um deles).Aqui está um oneliner que mostra o comando a ser executado:
Substitua
echo
porsudo
para que o processo realmente seja eliminado.fonte
echo
porsudo
80
.Três opções para listar portas abertas são oferecidas no jsh 's
whatisonport
:Eu prefiro
netstat
porque é rápido, conciso e pode listar portas abertas por outros usuários. (Embora ainda seja necessário privilégios de superusuário / usuário para listar os nomes e PIDs de tais processos.)Saídas
O uso de
grep
em dois casos é corresponder apenas à porta no lado local e pular conexões abertas para uma porta remota 80. (Uma alternativa seria usar-l
comnetstat
ou comlsof
usar-sTCP:LISTEN
, mas eu gosto dos greps acima porque eles também capturam conexões de saída da porta fornecida, o que pode ocasionalmente ser interessante.)Com
lsof
usamos-P
para exibir em:80
vez de:http
tornar possível o grep. A-S 2
opção obrigalsof
a ser concluída em tempo hábil.Matando o processo
Supondo que desejamos usar
netstat
, poderíamos pegar os PIDs assim:E podemos até passar esses PIDs para
kill
:No entanto, geralmente há um potencial de falso positivo ao usar regexps, portanto, recomendo apenas examinar a saída inicial
netstat
e decidir manualmente se deseja executar:Veja também
Eu tenho outro script chamado
listopenports
que pode ser do seu interesse.fonte
Você já descobriu qual processo matar: é o número do processo
20570
e seu binário possui o nomehttpd
conforme escrito no final da linha de saída denetstat
. Você pode matá-lo por númerokill 20570
ou nome,killall httpd
mas eu não recomendaria fazê-lo dessa maneira.Portas inferiores a 1024 têm um uso padronizado (normalmente), você pode procurar essas e muitas outras
less /etc/services
. A entrada para a porta 80 é até comentada:Portanto, é provavelmente um servidor da web. O nome que você tem é
httpd
eman httpd
deve lhe dar a grande dica de que é o binário Apache que se encaixa. O Apache é um dos grandes players, possui alguns programas de gerenciamento confortáveis disponíveis, mas você não precisa deles para uma simples ação de iniciar / parar.Você tem hortelã? Com uma área de trabalho normal? Então, olhe
Control Center
abaixoSystem
e cliqueServices
. Você precisa ser administrador para fazer qualquer coisa lá. Role para baixo até encontrar algo rotulado como "servidor da web" (eu tenho o lighttpd em vez do Apache e não sei exatamente como seria a entrada do Apache) e desmarque-o.Se você quiser apenas parar temporariamente, tente, no console
e comece com
sudo service start httpd
.service --status-all
retorna uma lista de todos os serviços queservice
conhece e pode manipular. Um atalho para um reinício de um serviço (isto é: parar e iniciá-lo nessa ordem) éservice --full-restart SERVICE
comSERVICE
sendo o nome do serviço, por exemplo .:httpd
em caso de Apache.A maioria dos programas encontrados
netstat
pode ser tratada dessa maneira. Alguns não podem e outros nem sequer têm uma página de manual, mas são raros.fonte
Existe uma maneira simples de fazer isso. Primeiro verifique qual processo está usando a porta 80 pelo netstat :
Agora você tem o nome do processo e matar o processo com o killall comando:
fonte
killall
sem explicação ou aviso.