убить предыдущий сервер websocket с помощью asyncio в блокноте jupyter - PullRequest
0 голосов
/ 18 марта 2020

Я пытаюсь закрыть ранее запущенный сервер веб-сокетов после использования прерывания клавиатуры в ячейке ноутбука jupyter с этим python асинхронным кодом


import asyncio
import websockets

async def echo(websocket, path):
    async for message in websocket:
        await websocket.send(message)
my_ws = websockets.serve(echo,'0.0.0.0',8765)
asyncio.get_event_loop().run_until_complete(
    my_ws)
asyncio.get_event_loop().run_forever()

Я пытался закрыть событие l oop и создание / настройка нового, но сообщение ниже сохраняется, когда я повторно запускаю вышеуказанный код.

---------------------------------------------------------------------------

OSError                                   Traceback (most recent call last)

/usr/lib/python3.6/asyncio/base_events.py in create_server(self, protocol_factory, host, port, family, flags, sock, backlog, ssl, reuse_address, reuse_port)
   1061                     try:
-> 1062                         sock.bind(sa)
   1063                     except OSError as err:

OSError: [Errno 98] Address already in use


During handling of the above exception, another exception occurred:

OSError                                   Traceback (most recent call last)

4 frames

/usr/lib/python3.6/asyncio/base_events.py in create_server(self, protocol_factory, host, port, family, flags, sock, backlog, ssl, reuse_address, reuse_port)
   1064                         raise OSError(err.errno, 'error while attempting '
   1065                                       'to bind on address %r: %s'
-> 1066                                       % (sa, err.strerror.lower()))
   1067                 completed = True
   1068             finally:

OSError: [Errno 98] error while attempting to bind on address ('0.0.0.0', 8765): address already in use

Он также не отображается как отдельный в выводе ps -aux, так что я могу ' t просто kill -9 pid.

Как мне найти и завершить программу websocket, которая сейчас работает в фоновом режиме?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...