停止容器
描述
isula stop命令用于停止一个或多个运行中的容器。首先向容器中的首进程会发送SIGTERM信号,在指定时间(默认为10s)内容器未停止时,会发送SIGKILL。
用法
isula stop [OPTIONS] CONTAINER [CONTAINER...]
参数
stop命令支持参数参考下表。
表 1 stop命令参数列表
约束限制
指定t参数且t<0时,请确保自己容器的应用会处理stop信号。
Stop的原理:Stop会首先给容器发送Stop 信号(SIGTERM),然后等待一定的时间(这个时间就是用户输入的 t),过了指定时间如果容器还仍处于运行状态,那么就发送kill信号(SIGKILL)强杀。
输入参数t的含义:
t<0 : 表示一直等待,不管多久都等待程序优雅退出,既然用户这么输入了,表示对自己的应用比较放心,认为自己的程序有 合理的stop信号的处理机制。
t=0 : 表示不等,立即发送kill -9 到容器。
t>0 : 表示等一定的时间,如果容器还未退出,就发送kill -9 到容器。
所以如果用户使用t<0 (比如t=-1),请确保自己容器的应用会正确处理SIGTERM. 如果容器忽略了该信号,会导致isula stop一直卡住。
示例
停止一个容器
$ isula stop fd7376591a9c3d8ee9a14f5d2c2e5255b02cc44cddaabca82170efd4497510e1
fd7376591a9c3d8ee9a14f5d2c2e5255b02cc44cddaabca82170efd4497510e1