Linux (redhat, centos, macos) освобождает занятые порты
Примечание. Для работы необходимо использовать пользователя root, иначе вы не сможете увидеть процесс переноса.
Мой сценарий использования:
Когда контейнер запускается, моя служба автоматически запускает порты сокетов: 9001, 9002. Когда я закрываю контейнер из-за проблемы с кодом, порты 9001 и 9002 не освобождаются вовремя, поэтому, когда я запускаю контейнер для во второй раз пишет, что порты заняты
1. Входnetstat -tln, проверьте все занятые в данный момент порты системы, в основном чтобы проверить действительно ли заняты ваши порты, вы можете видеть что мои порты 9001 и 9002 уже заняты, поэтому мне нужно освободить эти два порта
2. В соответствии с процессом запроса порта введитеlsof -i :9001, не забудьте добавить двоеточие, как показано ниже, вы можете увидеть идентификатор процесса занятого в данный момент порта
3. Теперь, когда вы знаете номер процесса, намного проще убить текущий процесс, просто уничтожьте -9 3340 и нажмите Enter, чтобы завершить текущий процесс.
4. Теперь, когда он убит, вы должны подтвердить, что он полностью мертв.netstat -tlnСмотри, 9001 и 9002 пропали, потому что мои 9001 и 9002 - это два порта сокета, которые зависят друг от друга. Убийство одного из них автоматически завершит работу другого, поэтому они оба исчезнут. Если у вас возникнет такая проблема в будущем, вы можно последовать примеру сделать это
Для получения дополнительной информации, пожалуйста, посетите:IBO-Linux (Redhat, CentOS) освобождает занятые порты