`

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.js开发-Node.js入门.pdf

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

    node.js14.18.3版本下载

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

    node.js(v16.16.0) 安装包

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

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

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

    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.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.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