看门狗(Watchdog)应该是计算机世界中较为形象的一个动物化的特性,就好像光猫和鼠标一样,在那个混沌初开的计算机时代,技术专家和极客们总会给冷冰冰的机器赋予身边活物的灵性。看门狗的功能简要的来说就是侦测到设备异常并恢复设备状态,这里的恢复一般是重启,就好像公司IT部门在接到设备报障电话总是会问一句:“您尝试重启设备了吗?”,确实,重启能解决绝大部分故障,重启后的设备也能工作在较好的状态,随着时间的推移,待故障再次发生的时候怎么办?再重启一下呗。如果无法确认故障的原因或者无法解决故障,那么重启确实很好,但是这仍然需要有人值守,手动重启。看门狗的出现就是为了解决这个痛点,看门狗每间隔一段时间(Interval)会检测设备状态,检测的方式就是一系列测试(Test),如果测试不通过则自动重启。 第一次接触到看门狗(Watchdog)功能还是在树莓派(Raspberry Pi),当时硬件清单说明 …

经过一段时间的实践,目前我的IT基础设施基本上完成了向Docker容器化的迁移,通过容器的隔离大大减轻了运维的负担,尤其对于我个人来说,可以专注于业务代码的实现,在容器化的具体实践中也遇到一些问题,本文介绍的就是其中容器内进程管理和僵尸进程(Zombie Process)的消除。 1 Linux init进程 使用过Linux系统的同学可能对init这个进程并不陌生,此进程也是内核启动的第一个进程,PID为1,此进程包含多个任务,其中重要的任务之一:接管孤儿进程和消除僵尸进程。 孤儿进程指的是在其父进程执行完成或被终止后仍继续运行的一类进程,而僵尸进程是指子进程先于父进程结束,而父进程没有调用wait或者waitpid等待,这样结束的子进程将会变成僵尸进程,系统会自动将孤儿进程和僵尸进程过继给PID为1的init进程,这样init进程重新成为孤儿进程的父进程并给僵尸进程收尸(消除),避免大 …


Some archived posts that were written in Simplified Chinese before the year 2021 were moved to and it may never update.