Node.js子进程 child_process

简介: Node.js子进程 child_process

Node.js子进程 child_process


node.js child_process 使用:分为同步进程和异步进程文档传送们

创建子进程的方式

  • spawn: 启动一个子进程来执行命令;
  • exec:  启动一个子进程来执行命令,与 spawn 不同的是,它有一个回调函数获知子进程的状况;
  • execFile: 启动一个子进程来执行可执行文件;
  • fork:  与 spawn 类似,不同点在于它创建 Node 的子进程只需指定要执行的 JavaScript 文件模块即可;

exec使用

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

引入方式

const { exec } = require('child_process');

使用方式: 以执行curl为例:

exec(
      `curl -X POST "es-master:9200/_bulk?pretty" -H 'Content-Type: application/json' --data-binary "@1.txt"`,
      function (err, out, code) {
        if (err instanceof Error) throw err;
        console.log(err);
        console.log(out);
      },
    );

execFile使用

child_process.execFile(file[, args][, options][, callback])

引入方式

const { execFile } = require('child_process');

使用方式: 以执行curl为例:

// node 为文件名
execFile('node',
      function (err, out, code) {
        if (err instanceof Error) throw err;
        console.log(err);
        console.log(out);
      },
    );

spawn使用

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

引入方式

const { spawn } = require('child_process');

使用方式: 以执行curl为例:

const ls = spawn('ls', ['-lh', '/usr']);
ls.stdout.on('data', (data) => {
  console.log(`stdout: ${data}`);
});
ls.stderr.on('data', (data) => {
  console.error(`stderr: ${data}`);
});
ls.on('close', (code) => {
  console.log(`child process exited with code ${code}`);
});

参考

一天清晨

相关文章
|
2月前
|
缓存 JavaScript Unix
Node.js 多进程
10月更文挑战第8天
37 0
|
1月前
|
运维 监控 JavaScript
鸿蒙next版开发:分析JS Crash(进程崩溃)
在HarmonyOS 5.0中,JS Crash指未处理的JavaScript异常导致应用意外退出。本文详细介绍如何分析JS Crash,包括异常捕获、日志分析和典型案例,帮助开发者定位问题、修复错误,提升应用稳定性。通过DevEco Studio收集日志,结合HiChecker工具,有效解决JS Crash问题。
51 4
|
4月前
|
JavaScript Windows
NodeJs——如何获取Windows电脑指定应用进程信息
NodeJs——如何获取Windows电脑指定应用进程信息
129 0
|
4月前
|
JavaScript 前端开发
nodejs process进程
nodejs process进程
39 0
|
6月前
|
JavaScript 前端开发 Shell
深入Node.js的进程与子进程:从文档到实践
深入Node.js的进程与子进程:从文档到实践
|
6月前
|
监控 Linux 应用服务中间件
探索Linux中的`ps`命令:进程监控与分析的利器
探索Linux中的`ps`命令:进程监控与分析的利器
137 13
|
5月前
|
运维 关系型数据库 MySQL
掌握taskset:优化你的Linux进程,提升系统性能
在多核处理器成为现代计算标准的今天,运维人员和性能调优人员面临着如何有效利用这些处理能力的挑战。优化进程运行的位置不仅可以提高性能,还能更好地管理和分配系统资源。 其中,taskset命令是一个强大的工具,它允许管理员将进程绑定到特定的CPU核心,减少上下文切换的开销,从而提升整体效率。
掌握taskset:优化你的Linux进程,提升系统性能
|
5月前
|
弹性计算 Linux 区块链
Linux系统CPU异常占用(minerd 、tplink等挖矿进程)
Linux系统CPU异常占用(minerd 、tplink等挖矿进程)
192 4
Linux系统CPU异常占用(minerd 、tplink等挖矿进程)
|
4月前
|
算法 Linux 调度
探索进程调度:Linux内核中的完全公平调度器
【8月更文挑战第2天】在操作系统的心脏——内核中,进程调度算法扮演着至关重要的角色。本文将深入探讨Linux内核中的完全公平调度器(Completely Fair Scheduler, CFS),一个旨在提供公平时间分配给所有进程的调度器。我们将通过代码示例,理解CFS如何管理运行队列、选择下一个运行进程以及如何对实时负载进行响应。文章将揭示CFS的设计哲学,并展示其如何在现代多任务计算环境中实现高效的资源分配。
|
5月前
|
存储 缓存 安全
【Linux】冯诺依曼体系结构与操作系统及其进程
【Linux】冯诺依曼体系结构与操作系统及其进程
179 1