Я пытаюсь закрыть ранее запущенный сервер веб-сокетов после использования прерывания клавиатуры в ячейке ноутбука 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, которая сейчас работает в фоновом режиме?