在关闭正在运行的程序的进程后,套接字保持建立

时间:2015-11-28 17:17:38

标签: python sockets

我写了一个使用套接字的python程序,但是有一个问题,问题是当我关闭正在运行的程序时(从任务管理器甚至从X按钮),服务器套接字保持建立(仍然并且它会在下一个程序运行中导致问题(因为端口被占用)

如果有人能帮助我,我会感激,干杯。

1 个答案:

答案 0 :(得分:-1)

如果打开文件进行写入,则终止程序,该文件仍在磁盘上。与套接字相同(内部只是文件)

避免这种情况的一种方法是安装一个信号处理程序来清理并插入一个kill或HUP事件:

import signal
import sys
def signal_handler(signal, frame):
        print('You pressed Ctrl+C!')
        # your sockets management code here 
        sys.exit(0)

signal.signal(signal.SIGINT, signal_handler)
print('Press Ctrl+C')
signal.pause()