Linux:lxc强制停止并杀死容器
时间:2020-01-09 10:40:15 来源:igfitidea点击:
如何停止在容器内运行的应用程序。
我执行了lxc-stop -n myapp
,但是命令没有返回到shell提示符,我的lxc容器进入了挂起状态。
如何杀死在Ubuntu Linux主机上运行的容器?
您需要使用lxc-stop命令重新引导,完全关闭或杀死Linux容器(LXC)内的所有进程。
默认情况下,它将通过向容器初始化进程发送lxc.haltsignal(默认为SIGPWR)来请求容器的干净关闭,等待60秒以退出容器,然后返回。
如果容器在60秒内无法完全退出,则将向其发送lxc.stopsignal(默认为SIGKILL)以强制其关闭。
重新启动容器
语法为:
lxc-stop -n containerNameHere -r
要重新启动名为myhttpd的容器,请执行:
lxc-stop -n myhttpd -r
关闭并杀死容器(强制终止)
语法为:
lxc-stop -n containerNameHere -k
或者
lxc-stop -n containerNameHere --kill
要强制终止并关闭名为myhttpd的容器,请执行:
lxc-stop -n myhttpd -k
要在硬停止容器之前等待TIMEOUT(例如180秒),请执行:
lxc-stop -n myhttpd -k -t 180
或者
lxc-stop -n myhttpd -k --timeout 180
干净关机(推荐)
以下语法仅请求干净关闭,如果干净关闭失败,则不终止容器
lxc-stop -n containerNameHere --nokill lxc-stop -n myhttpd --nokill
关于超时的说明
为了避免等待60秒,只需执行请求操作(重新引导,关闭或硬终止)并退出,请传递-W选项:
## hard kill ## lxc-stop -W -n containerNameHere -k ## reboot ## lxc-stop -W -n containerNameHere -r
如何查看容器状态?
要仅列出正在运行的容器,请执行:
lxc-ls --fancy --running
输出示例:要仅列出已停止的容器,请执行:
lxc-ls --fancy --stopped
要列出系统上已停止和正在运行的容器,请执行:
lxc-ls --fancy
输出示例:
NAME STATE IPV4 IPV6 AUTOSTART ----------------------------------------------- debian8 STOPPED - - NO wwwapp1 RUNNING 10.0.3.14 - YES dnsapp1 RUNNING 10.0.3.16 - YES staticf1 RUNNING 10.0.3.17 - YES mysqlapp RUNNING 10.0.3.19 - YES