
Estou tentando entender melhor um comportamento que vejo - assumi o controle de um servidor que tinha TFTP em execução e estou tentando desligá-lo. Eu já corri:
systemctl stop tftp
systemctl stop xinetd
No entanto, ao parar o serviço tftp, diz
Aviso: Parando tftp.service, mas ainda pode ser ativado por: tftp.socket
ss -lnpu
depois me dá
UNCONN 0 0 :::69
:::* users:(("systemd",pid=1,fd=60))
Eu verifiquei e a porta ainda está escutando, mas o PID está listado como systemd? Não entendo o comportamento - como o TFTP está sendo executado diretamente pelo systemd?
Editar: descobri que havia outro "serviço" chamado tftp.socket em execução que mantinha o soquete aberto depois que eu eliminei o tftp.service. O que ainda não entendo é por que isso aparece como parte do pid systmed.
Responder1
O servidor tftp é iniciado para lidar com uma solicitação tftp. Como log não existe tal solicitação, systemd
não inicia o servidor tftp. Mas é necessário que haja um processo que escute a solicitação recebida na porta 69, caso contrário, a solicitação chegará ao bitbucket.
Esse processo é systemd.
Quando uma solicitação na porta 69 chega, o systemd desativa um servidor tftp para lidar com a solicitação. Quando o servidor tftp termina, ele simplesmente morre.