nodejs 子进程正确的打开方式

 更新时间:2017年07月03日 08:49:36   作者:依云  
本文给大家总结了nodejs 子进程的正确用法,非常的简单实用,有需要的小伙伴可以参考下

因为库太拙了,需要在 nodejs 里调用子进程来获取数据。然而看到 child_process 的文档真是头疼,这么多种启动子进程的方法直接推到人面前,也没个解释,命名也十分无用。只能一个个地查看详细说明来找到应该使用的那个……所以我整理了一下。

首先是同步创建子进程的那几个函数。会阻塞 nodejs 的主循环。无用。(要是写小脚本的话我直接上 shell 或者 Python 了,干嘛跟自己过不去呢。)

exec :调用 shell 来执行命令的。这部分跟「exec」这个词的 UNIX/C 语义刚好相反。

execFile :不调用 shell,直接执行命令。这命名不明所以。

fork :执行一个 新的 nodejs 进程,并且建立一个专用的 IPC 通道。子进程除了 IPC 通道外与父进程无任何瓜葛!命名真是一如既往地误人子弟。默认使用与父进程相同的可执行文件(nodejs 版本),也可以另外指定。

spawn :相当于 Python 的 subprocess,可以指定是否使用 shell。默认不使用 shell。也支持 cwd 啊 env 啊 argv0 啊之类的参数。

结论:如果需要用 Python 的 subprocess.run / Popen 类似的功能,就使用 child_process.spawn 。 exec 开头的那个函数似乎没啥大用,大概跟 subprocess 的 getoutput / check_call 之类的一样只是有一些预设而已吧。

相关文章

  • node实现生成带参数的小程序二维码并保存到本地功能示例

    node实现生成带参数的小程序二维码并保存到本地功能示例

    这篇文章主要介绍了node实现生成带参数的小程序二维码并保存到本地功能,涉及nodejs模块引用、接口调用、编码转换、图片生成等相关操作技巧,需要的朋友可以参考下
    2018-12-12
  • Node.js插件安装图文教程

    Node.js插件安装图文教程

    Node.js是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。本文给大家介绍Node.js插件安装的教程,非常实用,特此分享给大家,需要的朋友一起学习吧
    2016-05-05
  • 详解Nodejs之npm&package.json

    详解Nodejs之npm&package.json

    本篇文章主要介绍了详解Nodejs之npm&package.json,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • 总结几道关于Node.js的面试问题

    总结几道关于Node.js的面试问题

    这篇文章主要总结了几道关于Node.js的面试问题,通过这些问题就来判断一个人的Node.js水平是不太严谨的,但是它能让你对面试者在Node.js上的经验如何有个大概的了解。有需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-01-01
  • 对mac下nodejs 更新到最新版本的最新方法(推荐)

    对mac下nodejs 更新到最新版本的最新方法(推荐)

    今天小编就为大家分享一篇对mac下nodejs 更新到最新版本的最新方法(推荐),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • webpack配置文件和常用配置项介绍

    webpack配置文件和常用配置项介绍

    本篇文章主要介绍了webpack配置文件和常用配置项的相关知识。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-04-04
  • nodejs实现简单的gulp打包

    nodejs实现简单的gulp打包

    因为之前一直有人给我推荐gulp,说他这里好哪里好的。实际上对我来说够用就行。grunt熟悉以后实际上他的配置也不难,说到效率的话确实是个问题,尤其项目大了以后,目前位置遇到的项目都还可以忍受。不过不管怎么说,需要亲自用过gulp之后才能品评他和grunt之间的优劣。
    2017-12-12
  • node.js 用socket实现聊天的示例代码

    node.js 用socket实现聊天的示例代码

    本篇文章主要介绍了node.js 用socket实现聊天的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • nodejs使用PassThrough流进行数据传递合并示例详解

    nodejs使用PassThrough流进行数据传递合并示例详解

    这篇文章主要为大家介绍了nodejs使用PassThrough流进行数据传递合并示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • 用node开发并发布一个cli工具的方法步骤

    用node开发并发布一个cli工具的方法步骤

    这篇文章主要介绍了用node开发并发布一个cli工具的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01

最新评论