我有一个正在运行的Flask应用程序,它也在创建容器。一旦按下Ctrl + C,我希望杀死所有正在运行的容器。
我已经定义了一个函数,该函数可以杀死正在运行的容器并且可以正常工作,它称为remove_con(port_number)
我有一个运行我的容器的活动端口的列表。
当我执行Ctrl + C组合键时,我想遍历该列表并为每个端口调用remove_con。然后程序应该停止
我该如何实现?
答案 0 :(得分:0)
检查一下。您将不得不使用信号来捕获应用程序的强制关闭,然后传递用于该功能的处理程序。
https://docs.python.org/2/library/signal.html#signal.CTRL_C_EVENT
答案 1 :(得分:0)
Python中有一个名为atexit的库。您可以在程序关闭之前使用该库来调用清理函数。
import atexit
ll=[1,2,3,4,5]
def remove_numbers(ll):
for i in ll:
ll.remove(i)
if __name__="__main__":
atexit.register(remove_numbers,ll) #first argument is the function name followed
#by all the params
您可以执行一项以上的功能。