PyCharm交互式控制台:atexit不起作用,也不发出信号

时间:2018-10-17 16:36:48

标签: python pycharm atexit

我想终止在出口运行端口的进程...,这样当我忘记.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交互式控制台正常工作?

0 个答案:

没有答案