Пилоны:адрес уже используется при попытке обслуживания

StackOverflow https://stackoverflow.com/questions/1071071

Вопрос

Я использую пилоны и сделал это:Paster Server Development.ini работает на: 5000

Но когда я пытаюсь запустить команду еще раз:Пастер служит development.ini

Я получаю это сообщение:ошибка сокета:[Errno 98] Адрес уже используется.

Есть идеи?

Это было полезно?

Решение

Обычно это означает, что он все еще работает, но это должно происходить только в том случае, если он находится в режиме демона.После запуска вы получаете командную строку или вам нужно остановить его с помощью Ctrl-C?

Если вы получите командную строку обратно, это режим демона, и вам придется остановить его с помощью

paster server development.ini stop

Если вы остановили это с помощью Ctrl-C (а не Ctrl-Z, конечно), понятия не имею.

Другие советы

Я нашел этот трюк на форуме:

Это уничтожит все программы, прослушивающие порт 5000.

kill -9 `fuser -n tcp 5000`

Насколько я понимаю ваш вопрос, вы запускаете какое-то приложение для прослушивания порта 5000.Затем, не останавливая его (?), вы пытаетесь запустить другой экземпляр для прослушивания того же порта?Если да, то у вас ничего не получится.

Вы всегда можете проверить, какое приложение прослушивает какой номер порта, используя netstat (как для Windows, так и для UNIX-подобных систем у меня нет опыта работы с другими).

Это также случилось со мной, когда сервер неожиданно умер и не закрыл сокет должным образом.По сути, сокет по-прежнему отображается как открытый в операционной системе, даже если процесс завершился.Я обнаружил, что если я подожду 30-60 секунд, ОС поймет, что связанный процесс умер, и автоматически очистит сокеты.

ваш порт по умолчанию 8080 использует.Вы должны добавить «-p 10000» после команды, чтобы взять порт 10000

естественно netstat (netstat -an | grep 5000 делает свое дело в Linux).захвачу порт

Однако я нашел другой вопрос с той же ошибкой.

Python [Errno 98] Адрес уже используется

sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)

По сути, Python занимает слишком много времени, чтобы открыть сокет.

Я перепробовал все ответы, за которые проголосовали, которые существуют здесь, но никто мне не подходит.Но эта команда ниже делает свое дело.

sudo kill $(sudo lsof -t -i:5000)

Это убьет процесс, который прослушивает порт. 5000.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top