`

Node.js子进程执行shell获取返回值

阅读更多

 

初学nodejs,打算用这来做一个公司的服务器管理系统,需要用到执行shell,从网上了解到调用shell是用新开一个子线程的方法:

var value = 0;
var process = require('child_process');
process.exec('shell命令', function(err, stdout, errout){
    // err是执行结果,是否有错
    // stdout是标准输出,即shell命令执行后的结果
    // errout是错误输出
    value = stdout;// 把返回值给value
});
res.json({"value":value});

 这么做看起来是没什么问题,但是,执行完会发现value一直是0,原因就在于多线程异步。

 

 

所以,正确解决应该是:

 

var value = 0;
var process = require('child_process');
value = process.execSync('ps -fu pex | grep ' + key + ' | grep -v grep | wc -l').toString();
res.json({"value":value});

 没有使用process.exec方法测试,不知道这种是不是也可以。

这个是从https://stackoverflow.com/questions/30134236/use-child-process-execsync-but-keep-output-in-console看到的:



 

初学,不知道有没有其他更好的解决办法,有大神望指教。

 

  • 大小: 17.3 KB
分享到:
评论

相关推荐

    Node.js(node-v16.15.1-win-x64.zip)

    Node.js 内部使用 Google V8 JavaScript 引擎来执行代码;大部分基本模块都是用 JavaScript 编写的。Node.js 包含一个用于文件、套接字和 HTTP 通信的内置异步 I/O 库。HTTP 和套接字支持允许 Node.js 充当 Web ...

    Node.js英文书籍2015出版共9本(一次下载)

    Full Stack Javascript - Learn Backbone.js, Node.js and MongoDB (APress 2015).epub Learning Node.js for Mobile Application Development (Packt 2015).pdf Microsoft Press Node.js for .NET Developers (2015...

    Node.js(node-v16.15.1-win-x86.zip)

    Node.js 内部使用 Google V8 JavaScript 引擎来执行代码;大部分基本模块都是用 JavaScript 编写的。Node.js 包含一个用于文件、套接字和 HTTP 通信的内置异步 I/O 库。HTTP 和套接字支持允许 Node.js 充当 Web ...

    node.js14.18.3版本下载

    Node.js 是一个开源、跨平台的 JavaScript 运行环境,它允许开发者在服务器端执行 JavaScript 代码。Node.js 使用 V8 引擎,这是 Google 为 Chrome 浏览器开发的高性能 JavaScript 和 WebAssembly 引擎。Node.js 的...

    Node.js开发-Node.js入门.pdf

    Node.js 是一个基于 JavaScript 的服务器端运行平台,允许开发者使用 JavaScript 语言来编写服务器端应用程序。 Node.js 的出现使得 JavaScript 成为服务器端脚本语言。 Node.js 的主要特点是非阻塞 I/O 和事件驱动...

    node.js(v16.16.0) 安装包

    Node.js 是一个开源、跨平台的 JavaScript 运行环境,它让开发者可以在服务器端执行 JavaScript 代码。Node.js 使用了 Google V8 引擎,这个引擎是为 Chrome 浏览器设计的,因此 Node.js 具有高性能和高效性的特点。...

    node.js 中文安装包

    Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,由 Ryan Dahl 在2009年创建。它让开发者能够在服务器端使用 JavaScript 编程,打破了 JavaScript 仅限于客户端应用的传统格局。Node.js 使用了一个事件...

    Welcome to Node.js v14.17.6..zip

    Node.js 是一个开源、跨平台的JavaScript运行环境,它允许开发者在服务器端执行JavaScript代码,极大地拓宽了JavaScript的应用领域。标题“Welcome to Node.js v14.17.6”表明我们将探讨的是Node.js的特定版本——v...

    node.js 安装包 10.16.3-x64

    Node.js 是一个开源、跨平台的JavaScript运行环境,它允许开发者在服务器端执行JavaScript代码,极大地拓宽了JavaScript的应用领域。10.16.3-x64 版本是 Node.js 的一个稳定版本,适用于64位操作系统。下面将详细...

    Node.js(node-v16.15.1.pkg)

    Node.js 内部使用 Google V8 JavaScript 引擎来执行代码;大部分基本模块都是用 JavaScript 编写的。Node.js 包含一个用于文件、套接字和 HTTP 通信的内置异步 I/O 库。HTTP 和套接字支持允许 Node.js 充当 Web ...

    Node.js-Node.jsforMobileApps是用于Android和iOS的完整版Node.js运行时

    描述中提到,这个“完整版Node.js运行时”意味着它包含了所有必要的组件,能够在移动设备上执行Node.js代码,这通常包括V8引擎、Node.js核心库、以及各种内置模块。在Android和iOS上运行Node.js,开发者可以利用...

    Node.js安装包压缩包

    - **单线程**:虽然执行用户代码是单线程的,但Node.js通过工作进程和异步调用来处理多任务,确保高效运行。 - **V8引擎**:利用Google的V8引擎,Node.js能够快速执行JavaScript代码,提供了接近原生的性能。 - *...

    Node.js(node-v16.15.1.tar.gz 源码)

    Node.js 内部使用 Google V8 JavaScript 引擎来执行代码;大部分基本模块都是用 JavaScript 编写的。Node.js 包含一个用于文件、套接字和 HTTP 通信的内置异步 I/O 库。HTTP 和套接字支持允许 Node.js 充当 Web ...

    Node.js-systeminformation-用于获取各种系统信息的Node.JS模块

    Node.js 是一个流行的开源JavaScript运行环境,它允许开发者在服务器端使用JavaScript进行编程。`systeminformation` 是一个针对Node.js的高效模块,专门用于获取多种系统级别的信息,如硬件、系统和操作系统详情。...

    Android-在ReactNative应用程序后台运行一个单独的Node.js进程

    安装并集成这个库后,你可以通过JavaScript代码调用Android原生方法,启动和控制Node.js进程。 2. 创建自定义Android模块:如果你需要更精细的控制或现有的库不能满足需求,可以创建一个自定义的React Native模块。...

    Node.js(node-v16.15.1-x64.msi)

    Node.js 内部使用 Google V8 JavaScript 引擎来执行代码;大部分基本模块都是用 JavaScript 编写的。Node.js 包含一个用于文件、套接字和 HTTP 通信的内置异步 I/O 库。HTTP 和套接字支持允许 Node.js 充当 Web ...

    Node.js-一个能在单独的线程中执行Node.js函数的零依赖库

    标题中的“Node.js-一个能在单独的线程中执行Node.js函数的零依赖库”指出,这个库专注于在Node.js环境中实现多线程处理,且不依赖任何外部库。这通常意味着它提供了一种轻量级的方式来并行执行任务,避免了Node.js...

    node.js时钟案例

    在Node.js环境中,我们可以使用`jsdom`库来模拟浏览器环境执行JavaScript代码,或者使用`xhr`库来异步加载外部脚本。这有助于在服务器端预处理JavaScript,从而提高客户端的加载速度。 3. **resolveHTML(htmlStr)**...

    Node.js-一个用于自动获取支付宝账单信息的Node.js模块

    标题中的“Node.js-一个用于自动获取支付宝账单信息的Node.js模块”表明我们要讨论的是一个基于Node.js的模块,其主要功能是自动化获取支付宝用户的账单数据。这个模块利用了Node.js的非阻塞I/O和事件驱动特性,使得...

    Node.js-一个针对Node.js进程类似于"top"的模块可用于收集CPU使用率等

    Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,它让开发者能够使用 JavaScript 来编写服务器端程序。在 Linux 或类 Unix 系统中,`top` 命令是一个非常实用的工具,可以实时显示系统中各个进程的资源...

Global site tag (gtag.js) - Google Analytics