【问题标题】:How do you create zombie/defunct process in nodejs?你如何在 nodejs 中创建僵尸/失效进程?
【发布时间】:2016-08-10 02:25:30
【问题描述】:

这里有很多帖子(例如https://unix.stackexchange.com/questions/217507/zombies-in-bash)展示了如何在 bash 或 c 中创建僵尸进程。我想知道是否有办法在nodejs中创建它们,所以当我做ps ax | grep node时,有一行命令部分是node <defunct>

非常感谢。

【问题讨论】:

  • 你为什么要这样做?
  • 我有一个脚本,它报告系统上是否有已失效的节点进程正在运行。我想通过创建一些失效的进程来测试它。
  • 那么为什么需要用 node.js 创建僵尸呢?为什么不直接使用 bash?
  • 脚本报告是否有已失效的 NODE 进程在运行。
  • 您可以创建一个名为 node 的 bash 脚本,或者在测试期间将查找 node 命名进程的条件更改为其他任何内容。

标签: node.js linux bash zombie-process


【解决方案1】:

回答我自己的问题,以防对任何人有所帮助。事实证明,在 node.js 中很容易做到这一点。运行以下脚本后,您可以执行ps ax | grep node,您应该会看到带有[node] <defunct> 的条目。

var cp = require('child_process');

if(process.send){ //this is a child process
    process.exit();
}

//main process, so spawn a child process
cp.fork(__filename);

//this keeps the main process busy and unable to respond to child's exit, making child defunct
while(true){};

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-30
    • 2016-12-13
    • 1970-01-01
    • 1970-01-01
    • 2010-12-26
    • 2021-12-09
    • 2021-02-20
    • 1970-01-01
    相关资源
    最近更新 更多