【问题标题】:NodeJS child process PID does not match the real processNodeJS子进程PID与真实进程不匹配
【发布时间】:2013-03-08 07:30:46
【问题描述】:

我用的是windows,正在做这个实验,

console.log( _.process.exec( "mongod --dbpath . --port 8083 --bind_ip 127.0.0.1" ).pid );

问题是,当我执行 tasklist 命令时,该输出的 PID 指向命令提示符任务,而不是 mongod.exe 任务。

有没有办法获取mongod.exe任务的真实PID?

【问题讨论】:

    标签: windows node.js mongodb batch-file pid


    【解决方案1】:

    这是因为mongodcmd 的子进程,而tasklist 不打印子进程ids。

    给定一个父进程 ID,您可以得到一个带有 wmi query 的子进程列表:

    wmic process where (ParentProcessId=CMD_PID) get Caption, ProcessId
    

    CMD_PID 替换为父 (cmd) 进程 ID。

    【讨论】:

    • 我通过tasklist.exe看到子进程。不过,不确定如何在 Node 应用程序中获取并使用它。我需要稍后通过 PID 杀死它。
    【解决方案2】:

    我现在正在查看此内容,并认为我需要在子进程中运行 process.pid 并将其发回给父进程。然后,父母需要跟踪这个数字,以防孩子需要被杀死。

    我希望这不会那么复杂?

    【讨论】:

      猜你喜欢
      • 2015-12-23
      • 2011-05-25
      • 1970-01-01
      • 2013-09-25
      • 2021-08-08
      • 2020-08-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多