前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >nodejs几种创建子进程的区别

nodejs几种创建子进程的区别

作者头像
ACK
发布2020-01-14 17:23:27
2K0
发布2020-01-14 17:23:27
举报
文章被收录于专栏:flytam之深入前端技术栈
spawn()

启动一个子进程来执行命令。进程类型任意

代码语言:javascript
复制
const { spawn } = require('child_process');
const ls = spawn('ls', ['-lh', '/usr']);

ls.stdout.on('data', (data) => {
  console.log(`stdout: ${data}`);
});

ls.stderr.on('data', (data) => {
  console.log(`stderr: ${data}`);
});

ls.on('close', (code) => {
  console.log(`子进程退出码:${code}`);
});
exec()

启动一个子进程来执行命令,但可以有一个回调函数获取子进程的一些情况。可以设置超时时间。进程类型任意

代码语言:javascript
复制
// 就像平时使用命令行那样
const { exec } = require('child_process');
exec('cat *.js bad_file | wc -l', (error, stdout, stderr) => {
  if (error) {
    console.error(`exec error: ${error}`);
    return;
  }
  console.log(`stdout: ${stdout}`);
  console.log(`stderr: ${stderr}`);
});
execFile()

启动一个子进程来执行可执行文件,可以设置超时时间,进程类型任意

代码语言:javascript
复制
const { execFile } = require('child_process');
const child = execFile('node', ['--version'], (error, stdout, stderr) => {
  if (error) {
    throw error;
  }
  console.log(stdout);
});
fork()

直接fork js文件。进程类型node

node文档的一些说明

这里写图片描述
这里写图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • spawn()
  • exec()
  • execFile()
  • fork()
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档