Distributions
› Ubuntu
› Fedora
› CentOS
中文资源站
› 网易开源镜像站
MartinWu
0D
V2EX  ›  Linux

init 的孩子们,你们已经死了!为什么还不离去?!

  •  1
     
  •   MartinWu ·
    Martwu · Feb 13, 2017 · 5309 views
    This topic created in 3554 days ago, the information mentioned may be changed or developed.
    情况是这样的,之前出现过大量 sshd 僵尸,我现在想重现这种情况,实现的是:

    init 进程的一些子进程为 Z 状态,并一直保持住。

    求大神指教。
    10 replies  •  2017-02-14 16:17:17 +08:00
    Siril
    Siril
    Feb 13, 2017
    1
    得散点纸钱才行
    linbiaye
    linbiaye
    Feb 13, 2017
    2
    不重启还能咋办,至多社区报个 bug.
    dbg
    dbg
    Feb 13, 2017❤️2
    3
    我还以为是 init 和 systemd 的引战帖子。
    MartinWu
    MartinWu
    OP
    Feb 13, 2017
    4
    @linbiaye 我现在想重现这种情况。就是怎么样才能实现这种状况。
    MartinWu
    MartinWu
    OP
    Feb 13, 2017
    5
    @dbg 我承认我标题党了~~
    hareandlion
    hareandlion
    Feb 13, 2017 via iPhone
    6
    死了变僵尸活着
    loading
    loading
    Feb 13, 2017 via Android
    7
    @dbg 我也是。
    MartinWu
    MartinWu
    OP
    Feb 13, 2017
    8
    现在的一些线索导向,可能是 supervisor 的锅。两次都是在 supervisord 上面重启过所有的 app 后,僵尸进程就突然消失了。。然而, supervisord 并没有用 root 启动,而是一个没权限切到 root 的普通账号。
    MartinWu
    MartinWu
    OP
    Feb 13, 2017
    9
    还在继续跟踪。。
    Siril
    Siril
    Feb 14, 2017
    10
    https://www.google.com/search?q=how+to+create+zombie+process&ie=utf-8&oe=utf-8&client=firefox-b-ab

    据说是这样,未亲手验证:
    先 fork 出一个子进程,
    然后父进程 sleep ,子进程 exit ,
    子进程就 zombie 了。

    然后根据这个:
    https://www.google.com/search?q=how+to+create+zombie+process&ie=utf-8&oe=utf-8&client=firefox-b-ab#q=cleanup+zombie+process
    干掉父进程,子进程会被 init 接管,然后会被 wait 后清除。
    所以? init 接管后还有一大堆 zombie ? 哪里的 bug 呢

    试试这个:
    https://stackoverflow.com/questions/20535438/cant-cleanup-a-zombie-process-whose-parent-is-init
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1637 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 10:20 · PVG 18:20 · LAX 02:20 · JFK 05:20
    ♥ Do have faith in what you're doing.