iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >spawn与exec的相同点是什么
  • 295
分享到

spawn与exec的相同点是什么

2024-04-02 19:04:59 295人浏览 泡泡鱼
摘要

本篇内容主要讲解“spawn与exec的相同点是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“spawn与exec的相同点是什么”吧!   node.js

本篇内容主要讲解“spawn与exec的相同点是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“spawn与exec的相同点是什么”吧!

  node.js基于事件驱动来处理并发,它本身是以单线程模式运行的。node.js通过child_process开启子进程执行指定程序。主要包括4个异步进程函数(spawn,exec,execFile,fork)和3个同步进程函数(spawnSync,execFileSync,execSync)。一般我们比较常用的是spawn和exec这两个方法。其中异步进程函数spawn是最基本的创建子进程的函数,其他三个异步函数都是对spawn不同程度的封装。spawn只能运行指定的程序,参数需要在列表中给出,而exec可以直接运行复杂的命令。

  默认情况下,和的管道在父 Node.js 进程和衍生的子进程之间建立。这些管道具有有限的(与平台相关)容量。 如果子进程在没有捕获输出的情况下写入超出该限制的 stdout,则子进程将阻塞等待管道缓冲区接受更多的数据。 这与 shell 中的管道行为相同。 如果不需要输出,则使用      方法异步地衍生子进程,并且不阻塞 Node.js 事件循环。而方法则以同步的方式提供等效功能,但会阻止事件循环直到衍生的进程退出或终止。

  为方便起见,模块提供了和的一些同步和异步的替代方法。注意,这些替代方法中的每一个都是基于或实现的。

  :衍生一个 shell 并在该 shell 中运行命令,当完成时则将 和  传给回调函数。:类似于 ,除了它默认会直接衍生命令且不首先衍生 shell。:衍生一个新的 Node.js 进程,并通过建立 IPC 通信通道来调用指定的模块,该通道允许在父进程与子进程之间发送消。: 的同步版本,会阻塞 Node.js 事件循环。: 的同步版本,会阻塞 Node.js 事件循环。

  对于某些用例,例如自动化的 shell 脚本,同步的方法可能更方便。 但是在大多数情况下,同步的方法会对性能产生重大影响,因为它会停止事件循环直到衍生的进程完成。

  child_process.spawn(command[, args][, options])

  child_process.exec(command[, options], callback)

  spawn与exec的相同点

  1、都用于开一个子进程执行指定命令。

  2、都可以自定义子进程的运行环境。

  3、都返回一个ChildProcess对象,所以他们都可以取得子进程的标准输入流、标准输出流和标准错误流。

  spawn与exec的不同点

  1、接受参数的方式:spawn使用了参数数组,而exec则直接接在命令后。

  比如要运行  命令, 使用spawn函数需要写成,而使用exec函数时,可以直接写成。exec是会先进行Shell语法解析,因此用exec函数可以更方便的使用复杂的Shell命令,包括管道、重定向等。

  2、子进程返回给Node的数据量:spawn没有限制子进程可以返回给Node的数据大小,而exec则在options配置对象中有maxBuffer参数限制,且默认为200K,如果超出,那么子进程将会被杀死,并报错:,虽然可以手动调大maxBuffer参数,但是并不被推荐。由此可窥见一番Node.js设置这两个api时的部分本意,spawn应用来运行返回大量数据的子进程,如图像处理,文件读取等。而exec则应用来运行只返回少量返回值的子进程,如只返回一个状态码。

  3、exec方法相比spawn方法,多提供了一个回调函数,可以更便捷得获取子进程输出。这与从返回的ChildProcess对象的stdout或stderr监听data事件来获得输出的区别是: data事件的方式,会在子进程一有数据时就触发,并把数据返回给Node。而回调函数,则会先将数据缓存在内存中(数据量小于maxBuffer参数),等待子进程运行完毕后,再调用回调函数,并把最终数据交给回调函数。

到此,相信大家对“spawn与exec的相同点是什么”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: spawn与exec的相同点是什么

本文链接: https://www.lsjlt.com/news/94552.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • spawn与exec的相同点是什么
    本篇内容主要讲解“spawn与exec的相同点是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“spawn与exec的相同点是什么”吧!   Node.js...
    99+
    2024-04-02
  • Typescript中interface与type的相同点与不同点是什么
    今天小编给大家分享一下Typescript中interface与type的相同点与不同点是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一...
    99+
    2023-07-04
  • MySQL和Oracle的相同点是什么
    MySQL和Oracle都是关系型数据库管理系统,具有以下相同点: 数据存储和管理:MySQL和Oracle都能够存储和管理大量...
    99+
    2024-04-09
    MySQL Oracle
  • null与undefined的异同点是什么
    这篇“null与undefined的异同点是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这...
    99+
    2024-04-02
  • SQLServer中EXEC与sp_executesql的区别是什么
    这篇文章将为大家详细讲解有关SQLServer中EXEC与sp_executesql的区别是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。摘要1,EXE...
    99+
    2024-04-02
  • Java和JavaScript有什么相同点和不同点?
    Java和JavaScript是两种非常常见的编程语言,它们在开发应用程序和网站方面都有着广泛的应用。虽然它们的名字很相似,但它们有着不同的用途和特点。本文将探讨Java和JavaScript之间的相同点和不同点。 一、相同点 编程语言 ...
    99+
    2023-08-26
    javascript 数据类型 关键字
  • java中抽象类和接口的相同和不同点是什么
    这篇文章将为大家详细讲解有关java中抽象类和接口的相同和不同点是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。前言下面简单介绍抽象类,接口以及它们的异同点,另附简单的代码举例。一、抽象...
    99+
    2023-06-22
  • 进程与线程异同点是什么
    这篇文章主要讲解了“进程与线程异同点是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“进程与线程异同点是什么”吧!关于这个问题,有的同学可能已经背得滚瓜烂熟了:“进程是操作系统分配资源的单...
    99+
    2023-06-27
  • php相同的数不相等是什么原因
    这篇文章主要为大家展示了php相同的数不相等是什么原因,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“php相同的数不相等是什么原因”这篇文章吧。当php相同的数判断出不相等时,说明它们虽然数值一样...
    99+
    2023-06-14
  • Kotlin的Collection与Sequence操作异同点是什么
    本文小编为大家详细介绍“Kotlin的Collection与Sequence操作异同点是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“Kotlin的Collection与Sequence操作异同点是什么”文章能帮助大家解决疑惑,下面跟...
    99+
    2023-07-04
  • 海外服务器租用和托管的相同点是什么
    海外服务器租用和托管相同点:1. 海外服务器租用和托管都是不用备案,节省时间成本,快速部署,抢占市场先机。2. 海外服务器租用和托管的IP资源充足,能够保证服务器的高效运行。3. 海外服务器租用和托管都采用国际带宽,实现全球互访无压力。具体...
    99+
    2024-04-02
  • shell中xargs、-exec与管道间的区别是什么
    本文小编为大家详细介绍“shell中xargs、-exec与管道间的区别是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“shell中xargs、-exec与管道间的区别是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来...
    99+
    2023-06-27
  • 高防CDN与高防IP的不同点是什么
    非常抱歉,由于您没有提供文章标题,我无法为您生成一篇高质量的文章。请您提供文章标题,我将尽快为您生成一篇优质的文章。...
    99+
    2024-05-15
  • vue中el-autocomplete与el-select的异同点是什么
    这篇文章主要介绍“vue中el-autocomplete与el-select的异同点是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue中el-autocomplete与el-select的异...
    99+
    2023-06-30
  • Docker exec的实现原理是什么
    本篇内容主要讲解“Docker exec的实现原理是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Docker exec的实现原理是什么”吧!我使用了 docker ex...
    99+
    2023-06-29
  • PHP中的数组有哪些常用操作方式?与NumPy的相同点和差异是什么?
    PHP中的数组是一种非常常见的数据类型,可以存储多个值,并且可以通过索引访问和操作数组中的元素。在本文中,我们将介绍PHP中的数组常用操作方式,并将其与NumPy进行比较,以便更好地理解它们之间的相同点和差异。 一、PHP中的数组常用操作方...
    99+
    2023-08-26
    数组 numpy spring
  • DevOps与Agile有什么共同点
    本篇内容介绍了“DevOps与Agile有什么共同点”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! DevOps和Agile之间有...
    99+
    2023-06-04
  • sql exec命令的作用是什么
    SQL EXEC命令用于执行存储过程、函数或动态SQL语句。它可以将参数传递给存储过程或函数,并返回执行结果。通过使用EXEC命令,...
    99+
    2024-04-09
    sql
  • 一文探讨Git与SVN之间的相似点和不同点
    随着Git的兴起,版本控制已经成为许多软件开发人员的必备技能。但是,Git并不是唯一的版本控制系统,曾经流行的Subversion(SVN)仍然在许多工作场所中使用。在本文中,我们将探讨Git与SVN之间的相似点和不同点。Git vs. S...
    99+
    2023-10-22
  • CSS3的相关属性特点是什么
    这篇文章主要为大家展示了“CSS3的相关属性特点是什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“CSS3的相关属性特点是什么”这篇文章吧。概述 transi...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作