Daemon de morte e porta de fechamento sem capacidade de usar 'lsof'

0

Eu tenho um aplicativo que mostra o horário em que é solicitado a um cliente. Eu não tenho permissões para usar a porta 13, então eu a coloco em uma porta realmente de numeração alta. Agora não posso matar essa porta e não posso usar a porta para mais nada. Como faço para encontrar o daemon para matá-lo (ps -ef não mostra) e feche a porta? Eu não posso usar 'lsof' porque estou usando o Redhat.

    
por user14717 23.02.2014 / 01:33

1 resposta

1

Now I can't kill that port, and I can't use the port for anything else. How do I find the daemon to kill it (ps -ef doesn't show it) and close the port? I cannot use lsof because I'm using Redhat.

Outros apontaram um dos erros acima. Um segundo erro é que não é possível "matar" as portas. Portas não são processos. Um terceiro erro é a suposição de que você tem algum processo secreto de magia que ps -e não mostrará para você. Se não houver nenhum processo listado, então, salvo alguns casos de canto obscuros, não há processo . Um quarto erro, ironicamente talvez o mais importante, é assumir que uma conexão com a porta ainda está aberta em primeiro lugar.

Uma explicação muito mais mundana, que se encaixa no comportamento relatado sem a necessidade de processos magicamente invisíveis, é que o processo foi encerrado, mas nada pode ser ligado à porta porque a conexão TCP ainda está em TIME_WAIT . A opção -o para netstat é sua amiga. Como de fato é a opção -p .

SuperUser não é o lugar certo para perguntar sobre como alguém escreve tais daemons, a propósito. E o StackOverflow, que é, trata disso e de questões relacionadas repetidas vezes.

Leitura adicional

  • Vic Metcalfe, Andrew Gierth, e outros (1998-05-21). "Escrevendo aplicativos de servidor (TCP / SOCK_STREAM)" . Programação de Sockets UNIX em C - Perguntas Mais Frequentes .
  • link
por 23.02.2014 / 14:32