PyCharm Interactive Console: atexit не работает и не сигнализирует - PullRequest
0 голосов
/ 17 октября 2018

Я хочу убить процесс запуска порта при выходе ... чтобы не было проблем, когда я забыл .close().

    for file_root, port in self.config.items():
        if not port:
            port = self.str2port(file_root)[0]

        server = subprocess.Popen([
            'python', '-m',
            'http.server',
            '-d', file_root,
            str(port)
        ])

        self.servers[file_root] = server

    env_python = Path(sys.argv[0]).name

    if 'ipykernel' in env_python:
        atexit.register(self.close)
    elif 'pydev' in env_python:
        print('hello')
        atexit.register(self.close)
        # signal.signal(signal.SIGINT, lambda s, f: self.close())
    else:
        try:
            for server in self.servers.values():
                server.wait()
        except KeyboardInterrupt:
            self.close()

Jupyter Notebook не проблема, но какЛи работать интерактивная консоль PyCharm?

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