重启无效

重启无效

我的虚拟机运行在 ubuntu(14.04.4) 上。有时,我只想通过reboot命令重新启动虚拟机。当我执行命令时,提示“成功”,但什么也没发生。

我检查了系统日志,没有发现特殊日志。某些服务(如 ssh)似乎已关闭。

我的虚拟机在重新启动之前刚刚遇到 docker 挂起问题(1.12.6),我刚刚删除了 /var/lib/docker 下的 docker 文件。僵尸进程仍然存在。

可以从 VM Web 控制台重新启动该 VM。 (我没有权限)

我想知道,

  • 发生这种情况我能做什么?
  • 我怎样才能找到这个问题的线索,比如在/proc下找到的东西?使用“shutdown -r”重新启动,尝试杀死所有正在运行的进程,任何情况都会导致“重新启动”挂起?
  • 在第一个“rebo​​ot”命令之后,我可以再次运行“rebo​​ot -f”来关闭系统吗?我没有尝试,因为它不安全。

聚苯乙烯

可以针对此问题执行魔法命令,服务器立即成功重启,

echo 1 > /proc/sys/kernel/sysrq
echo b > /proc/sysrq-trigger

我知道重新启动可能会优雅地重新启动,例如将脏页同步到磁盘,杀死所有正在运行的进程等等。

当我运行重新启动时,在特殊命名空间中生成了一些僵尸进程。由于 docker 容器被删除,命名空间也被删除,内存中只剩下 task_struct 需要 wait4 释放

进程之间的继承是,

容器取出后的处理,

  1. docker 容器可以被杀死,然后子进程被 init 1 收养
  2. 由于容器被删除,入口点启动进程无法被终止
  3. 僵尸一直存在,因为父进程被留在内存中而没有 wait4

    • init 1(全局 ns) -> docker 容器化(全局 ns)(睡眠) -> docker 入口点启动(容器 ns)(睡眠) -> java(容器 ns)(僵尸)

相关内容