ss.
Address already in use: как найти, кто занял порт, и почему он не всегда освобождается сразу
Представьте: два часа ночи, вы деплоите фикс, а сервис не поднимается: Address already in use. Гуглите, находите PID, kill -9. Это помогает. Но утром ошибка повторяется на том же порту.Тут и выясняется, что «порт занят» — это два разных диагноза с разными механизмами. Первый — порт правда держит живой процесс, и kill тут действительно помогает. Второй — процесс мёртв уже часов десять, а порт всё равно занят, потому что закрытое TCP-соединение зависает в состоянии TIME_WAIT. Так протокол оберегает новое соединение от заблудившихся пакетов старого. Убивать здесь уже некого, поэтому kill не помогает вообще.

