Я использую CherryPy для обслуживания своего приложения в нескольких портах, скажем, 8080 и 8081
cherrypy.server.unsubscribe()
for port in [8080, 8081]:
server = Server()
server.socket_port = port
server.socket_host = "0.0.0.0"
server.thread_pool = 100
server.subscribe()
cherrypy.engine.start()
cherrypy.engine.block()
При этом приложение обслуживается, как и ожидалось, на обоих портах. Теперь по какой-то причине я хочу остановить сервер с указанным c портом, а другой обслуживается нормально. Когда я останавливаю процесс на определенном порту с помощью следующей команды,
fuser -k "$port"/tcp
Все процессы на портах, на которых было запущено приложение (8080, 8081), также завершаются. Это ожидаемое поведение?
Если да, могу ли я в любом случае обслуживать приложение независимо, не затрагивая другие порты, на которых оно работает? (Кроме того, как я должен изменить порт в исходном коде и запустить его снова вручную)
Если нет, то какую ошибку я здесь делаю?
Любая помощь будет оценена!