阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      Node.js child_process.fork

      Node.js child_process.fork(modulePath[, args][, options]) 版本历史

      版本变更
      v8.0.0The stdio option can now be a string.
      v6.4.0The stdio option is supported now.
      v0.5.0新增于: v0.5.0
      • modulePath < string> 要在子进程中运行的模块。

      • args < string[]> 字符串参数的列表。

      • options < Object>

        • cwd < string> 子进程的当前工作目录。
        • env < Object> 环境变量的键值对。
        • execPath < string> 用于创建子进程的可执行文件。
        • execArgv < string[]> 传给可执行文件的字符串参数的列表。默认值: process.execArgv。
        • silent < boolean> 如果为 true,则将子进程的 stdin、stdout 和 stderr 传给父进程,否则从父进程继承,参阅 - - - - - - child_process.spawn() 的 stdio 中的 ‘pipe’ 和 ‘inherit’ 选项。默认值: false。
        • stdio < Array> | < string> 参阅 child_process.spawn() 的 stdio。如果提供了此选项,则覆盖 silent 选项。 如果使用了数组变量,则必须包含一个值为 ‘ipc’ 的元素,否则将抛出错误。例如 [0, 1, 2, ‘ipc’]。
        • windowsVerbatimArguments < boolean> 在 Windows 上是否为参数加上引号或转义。在 Unix 上忽略。默认值: false。
        • uid < number> 设置进程的用户标识,参阅 setuid(2)。
        • gid < number> 设置进程的群组标识,参阅 setgid(2)。
      • 返回: < ChildProcess>

      child_process.fork() 方法是 child_process.spawn() 的一个特例,专门用于衍生新的 Node.js 进程。 与 child_process.spawn() 一样返回 ChildProcess 对象。 返回的 ChildProcess 将内置一个额外的通信通道,允许消息在父进程和子进程之间来回传递。 有关详细信息,请参阅 subprocess.send()。

      注意,衍生的 Node.js 子进程独立于父进程,但两者之间建立的 IPC 通信通道除外。 每个进程都有自己的内存,带有自己的 V8 实例。 由于需要额外的资源分配,因此不建议衍生大量子 Node.js 进程。

      默认情况下, child_process.fork() 将使用父进程的 process.execPath 衍生新的 Node.js 实例。 options 对象中的 execPath 属性允许使用备用的执行路径。

      使用自定义的 execPath 启动的 Node.js 进程将使用在子进程上使用环境变量 NODE_CHANNEL_FD 标识的文件描述符(fd)与父进程通信。

      与 fork(2) 的 POSIX 系统调用不同, child_process.fork() 不克隆当前进程。

      child_process.fork() 不支持 child_process.spawn() 中可用的 shell 选项,如果设置则将被忽略。


      更多内容请参考:Node.js child_process 子进程,或者通过 点击对应菜单 进行查看;


      目录
      本文目录
      目录