Как завершить работу программы или закрыть окно командной строки после ввода "stop"?

Как можно реализовать остановку сервера при вводе команды "stop" в командной строке? В данный момент у меня есть два процесса для этого.
  • 24 декабря 2023 г. 15:37
Ответы на вопрос 2
В Python для остановки программы или закрытия окна командной строки после ввода "stop" можно использовать бесконечный цикл и проверку ввода пользователя. Например:

```python
while True:
    user_input = input("Введите команду: ")
    if user_input == "stop":
        break
```

В данном примере программа будет ожидать ввода команды от пользователя. Если пользователь введет "stop", цикл будет прерван с помощью оператора `break`, и программа завершится.

Относительно остановки сервера, вы можете использовать аналогичный подход:

```python
import socket

# Создание серверного сокета и его настройка

while True:
    user_input = input("Введите команду: ")
    if user_input == "stop":
        server_socket.close()  # Закрытие серверного сокета
        break
```

В данном примере сервер будет ожидать команду от пользователя. При вводе "stop" серверный сокет будет закрыт с помощью метода `close()`, и сервер остановится.
Грубое решение: настрой таймаут чтения, и при таймауте проверяй логическую переменную, которая хранит признак "пора остановиться". Тогда если ты эту переменную взведёшь, твои потоки-клиенты отвалятся, пусть и не сразу.
Похожие вопросы