exec与spawn方法的区别与陷阱
1个回答
展开全部
起因
前几天之前写的一段程序突然报了个诡异的异常"maxBuffer exceeded",追进去发现是在一个上传的模块中解压缩的时候调用了child_process.exec方法,在解压某个上传文件的时候抛异常了。而解压其他的文件就没有问题。于是把这个文件找出来,单独写了个一模一样的exec,调个子进程解压缩一遍,发现也没有错误,问题是一旦放到之前那段程序里面就报错了。于是只能去查API了。
exec与spawn
在nodejs的child_process模块中,有两个类似的方法spawn和exec,都是通过生成一个子进程,去执行指定的命令,不过他们的用法稍有不同,在命令的指定上,exec相对灵活,等于一个shell的命令行,如'ps -ef | grep node'此类的管道操作也能一次性实现。
nodejs文档用法e.x:
前几天之前写的一段程序突然报了个诡异的异常"maxBuffer exceeded",追进去发现是在一个上传的模块中解压缩的时候调用了child_process.exec方法,在解压某个上传文件的时候抛异常了。而解压其他的文件就没有问题。于是把这个文件找出来,单独写了个一模一样的exec,调个子进程解压缩一遍,发现也没有错误,问题是一旦放到之前那段程序里面就报错了。于是只能去查API了。
exec与spawn
在nodejs的child_process模块中,有两个类似的方法spawn和exec,都是通过生成一个子进程,去执行指定的命令,不过他们的用法稍有不同,在命令的指定上,exec相对灵活,等于一个shell的命令行,如'ps -ef | grep node'此类的管道操作也能一次性实现。
nodejs文档用法e.x:
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询