No se puede terminar TFTP

No se puede terminar TFTP

Estoy tratando de comprender mejor un comportamiento que veo: tomé el control de un servidor que tenía TFTP en ejecución y estoy tratando de apagarlo. Ya corrí:

systemctl stop tftp

systemctl stop xinetd

Sin embargo, al detener el servicio tftp dice

Advertencia: Deteniendo tftp.service, pero aún se puede activar mediante: tftp.socket

ss -lnpudespues me da

UNCONN      0      0                             :::69                                        
:::*                   users:(("systemd",pid=1,fd=60))

Lo verifiqué y el puerto sigue escuchando, pero ¿el PID aparece como systemd? No entiendo el comportamiento: ¿cómo Systemd ejecuta TFTP directamente?

Editar: descubrí que había otro "servicio" llamado tftp.socket en ejecución que mantenía el socket abierto después de que eliminé el tftp.service. Lo que todavía no entiendo es por qué esto aparece como parte del pid del sistema.

Respuesta1

El servidor tftp se inicia para manejar una solicitud tftp. Como el registro no existe tal solicitud, systemdno inicia el servidor tftp. Pero es necesario que haya un proceso que escuche la solicitud entrante en el puerto 69; de lo contrario, esa solicitud aterriza en el bitbucket.

Ese proceso es systemd.

Cuando llega una solicitud en el puerto 69, systemd bifurca un servidor tftp para manejar la solicitud. Cuando el servidor tftp finaliza, simplemente muere.

información relacionada