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 之类的一样只是有一些预设而已吧。

相关文章

  • Nodejs进阶:核心模块net入门学习与实例讲解

    Nodejs进阶:核心模块net入门学习与实例讲解

    本篇文章主要是介绍了Nodejs之NET模块,net模块是同样是nodejs的核心模块,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2016-11-11
  • 举例讲解Node.js中的Writable对象

    举例讲解Node.js中的Writable对象

    这篇文章主要介绍了举例讲解Node.js中的Writable对象,是Node.js入门学习中的基础知识,需要的朋友可以参考下
    2015-07-07
  • Node.js使用MySQL连接池的方法实例

    Node.js使用MySQL连接池的方法实例

    这篇文章主要介绍了Node.js使用MySQL连接池的方法,结合具体实例形式分析了nodejs操作mysql连接池的相关模块安装、连接、查询等使用技巧,需要的朋友可以参考下
    2018-02-02
  • node版本太高导致项目跑不起来的解决办法(windows)

    node版本太高导致项目跑不起来的解决办法(windows)

    换了台电脑后,安装node,一切完美,发现其中有一个uniapp的小程序项目跑不起来,感觉是node版本太高导致的,所以只能重新安装低版本的node,本文给大家介绍了node版本太高的解决办法,需要的朋友可以参考下
    2023-10-10
  • 从Node.js事件触发器到Vue自定义事件的深入讲解

    从Node.js事件触发器到Vue自定义事件的深入讲解

    这篇文章主要给大家介绍了关于从Node.js事件触发器到Vue自定义事件的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-06-06
  • NodeJS配置HTTPS服务实例分享

    NodeJS配置HTTPS服务实例分享

    本文给大家分享的是在nodejs中配置https服务的方法和具体的示例,非常的详细,有需要的小伙伴可以来参考下
    2017-02-02
  • socket.io与pm2(cluster)集群搭配的解决方案

    socket.io与pm2(cluster)集群搭配的解决方案

    这篇文章主要给大家介绍了关于socket.io与pm2(cluster)集群搭配的解决方案,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面跟着小编一起来看看吧。
    2017-06-06
  • Node.js 使用request模块下载文件的实例

    Node.js 使用request模块下载文件的实例

    今天小编就为大家分享一篇Node.js 使用request模块下载文件的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-09-09
  • node.js实现websocket的即时通讯详解

    node.js实现websocket的即时通讯详解

    这篇文章主要介绍了深入浅出讲解websocket的即时通讯,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送技术的一种,需要的朋友可以参考下
    2023-05-05
  • node.js中的url.format方法使用说明

    node.js中的url.format方法使用说明

    这篇文章主要介绍了node.js中的url.format方法使用说明,本文介绍了url.format的方法说明、语法、接收参数、使用实例和实现源码,需要的朋友可以参考下
    2014-12-12

最新评论