Como encerrar um processo Linux usando um número de porta


Você já se deparou com uma situação em que precisou interromper um processo que está sendo executado em uma porta específica da sua máquina Linux?

Você pode estar preocupado com o fato de um aplicativo em execução estar se comportando mal ou sobrecarregando os recursos da rede ou a energia da CPU local. Esse aplicativo pode até ser uma ameaça à segurança que você deseja eliminar.

Seja qual for o motivo, você pode usar os comandos fuser,lsofenetstatdo terminal (junto com kill) para ajudá-lo a encontrar e encerrar qualquer processo Linux usando um número de porta. Esses comandos funcionarão na maioria dos sistemas operacionais Linux, incluindo Ubuntu.

Como encerrar um processo Linux usando o comando fuser

Uma das maneiras mais fáceis de encerrar um processo usando um número de porta é usar o comando fuser. Este Comando do terminal Linux pode listar ou eliminar processos que acessam arquivos ou soquetes. Se um aplicativo é executado com atividade de rede (e, portanto, usa uma porta aberta), provavelmente está fazendo uma destas duas coisas.

Antes de continuar, você precisa ter certeza de que está confortável usando um terminal de linha de comando no seu PC Linux.

Para listar os processos que estão usando um número de porta usando o fuser, você pode usar a seguinte sintaxe:

fuser -n porta do protocolo

Neste exemplo, protocolopode ser tcpou udp, enquanto portaé o número da porta que você deseja checar. Por exemplo, para ver quais processos estão usando a porta TCP 80, você pode executar:

fusor -n tcp 80

Isso imprimirá os IDs de processo (PIDs) dos processos que usam essa porta.

Para encerrar esses processos, você pode adicionar a opção -kao fuser. Isso enviará um sinal SIGTERM para cada processo, solicitando que sejam encerrados normalmente. Por exemplo:

fusor -k -n tcp 80

Isso eliminará todos os processos que usam a porta TCP 80.

Se alguns processos não responderem ao SIGTERM, você pode usar -KILLem vez de -k. Isso enviará um sinal de interrupção (SIGKILL), que pode ajudar a forçar o encerramento imediato dos processos em execução que você identificou. No entanto, isso pode causar perda ou corrupção de dados, portanto, use-o com cautela. Por exemplo:.

fusor -KILL -n tcp 80

Isso eliminará todos os processos que usam a porta TCP 80 à força. Se você tiver algum problema, execute esses comandos como superusuário (usando o comando sudo) ou usando o usuário root.

Como encerrar um processo Linux usando o comando lsof

Outra maneira de encerrar um processo usando um número de porta em um PC Linux é usar o comandolsof. Este comando pode listar arquivos e soquetes abertos em seu sistema.

Para listar os processos que usam um número de porta específico, você pode usar a seguinte sintaxe:

lsof -i protocolo:porta

Como antes, protocolopode ser tcpou udp, enquanto portaé o número da porta que você deseja verificar. Por exemplo, para ver quais processos estão usando a porta TCP 53 (normalmente usada para solicitações de DNS), você pode executar este comando:

lsof -i tcp:53

Isso imprimirá algumas informações sobre cada processo que usa aquela porta, incluindo seu PID.

Para encerrar esses processos, você pode usar a opção-tcomlsof. Isto imprimirá apenas os PIDs dos processos sem nenhuma outra informação. Você pode então canalizar essa saída para o comando killcom qualquer opção de sinal. Por exemplo:

matar $(lsof -t -i tcp:53)

Isso enviará sinais SIGTERM (o padrão) para todos os processos usando a porta TCP 53.

Se alguns processos não responderem aos sinais SIGTERM como antes, você poderá usar -9em vez de nada após kill. Isso enviará sinais SIGKILL como antes, forçando-os a encerrar imediatamente, mas também poderá causar perda ou corrupção de dados. Por exemplo:

matar -9 $(lsof -t -i tcp:53)

Isso enviará à força sinais SIGKILL (o padrão) para todos os processos usando a porta TCP 53.

Como encerrar um processo Linux usando o comando netstat

Você também pode usar o comando netstatpara rastrear processos em execução no seu PC Linux usando portas de rede ativas e abertas. netstat permite visualizar conexões de rede e estatísticas em seu sistema, permitindo identificar processos problemáticos.

Para listar os processos usando um número de porta junto com seus PIDs, você precisa adicionar duas opções: -p, que mostra os PIDs, e -l, que mostra apenas soquetes de escuta..

Você também precisa especificar o protocolo (tcp, udp, etc.) e, opcionalmente, filtrar por estado (LISTEN, etc.). Por exemplo, para ver quais processos TCP estão escutando em qualquer porta, você pode executar:

netstat -p tcp -l

Isso imprimirá informações sobre cada soquete TCP escutando em qualquer porta, incluindo seu PID.

Para filtrar por portas específicas, você deve adicionar outra opção: -n, que mostra endereços numéricos em vez de nomes. Você também precisa especificar o formato exato do endereço: [protocol][@hostname|hostaddr][:service|port].

Por exemplo, para ver quais processos TCP estão escutando na porta 80, você pode executar:

netstat -p tcp -l -n 80

Isso imprimirá informações sobre cada soquete TCP que escuta na porta 8080, incluindo seu PID.

Para encerrar esses processos, você pode usar o comando killcom qualquer opção de sinal desejada e os PIDs obtidos do netstat. Por exemplo:

matar 1234 5678

Isso enviará sinais SIGTERM (o padrão) para processos com PIDs 1234e 5678.

Se alguns processos não responderem aos sinais SIGTERM como antes, você poderá usar -9em vez de nada após kill. Isso enviará sinais SIGKILL como antes, forçando-os a encerrar imediatamente, mas pode causar perda ou corrupção de dados como antes. Por exemplo:

matar -9 1234 5678

Isso enviará sinais SIGKILL para processos com PIDs 1234e 5678de forma forçada, por exemplo. Substitua 1234pelo PID correto para o seu processo em execução.

Controle seus aplicativos Linux

Graças às etapas descritas acima, você pode encerrar rapidamente um processo Linux em execução usando um número de porta usando a linha de comando do Linux. Lembre-se de ter cuidado ao encerrar processos, especialmente com sinais SIGKILL, pois eles podem causar efeitos colaterais indesejados - afinal, você não quer causar instabilidade no sistema.

Quer observar mais de perto o desempenho do seu sistema no Linux? Você pode querer verifique o uso de memória no Linux a seguir. Se você está preocupado com um possível risco à segurança, talvez você queira mude sua senha no Linux também.

Precisa mudar para uma nova distribuição Linux? Se você é iniciante, considere o Linux Mint uma alternativa segura e estável..

.

Postagens relacionadas:


2.04.2023