初学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看到的:
初学,不知道有没有其他更好的解决办法,有大神望指教。
相关推荐
Node.js 内部使用 Google V8 JavaScript 引擎来执行代码;大部分基本模块都是用 JavaScript 编写的。Node.js 包含一个用于文件、套接字和 HTTP 通信的内置异步 I/O 库。HTTP 和套接字支持允许 Node.js 充当 Web ...
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 内部使用 Google V8 JavaScript 引擎来执行代码;大部分基本模块都是用 JavaScript 编写的。Node.js 包含一个用于文件、套接字和 HTTP 通信的内置异步 I/O 库。HTTP 和套接字支持允许 Node.js 充当 Web ...
Node.js 是一个开源、跨平台的 JavaScript 运行环境,它允许开发者在服务器端执行 JavaScript 代码。Node.js 使用 V8 引擎,这是 Google 为 Chrome 浏览器开发的高性能 JavaScript 和 WebAssembly 引擎。Node.js 的...
Node.js 是一个基于 JavaScript 的服务器端运行平台,允许开发者使用 JavaScript 语言来编写服务器端应用程序。 Node.js 的出现使得 JavaScript 成为服务器端脚本语言。 Node.js 的主要特点是非阻塞 I/O 和事件驱动...
Node.js 是一个开源、跨平台的 JavaScript 运行环境,它让开发者可以在服务器端执行 JavaScript 代码。Node.js 使用了 Google V8 引擎,这个引擎是为 Chrome 浏览器设计的,因此 Node.js 具有高性能和高效性的特点。...
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,由 Ryan Dahl 在2009年创建。它让开发者能够在服务器端使用 JavaScript 编程,打破了 JavaScript 仅限于客户端应用的传统格局。Node.js 使用了一个事件...
Node.js 是一个开源、跨平台的JavaScript运行环境,它允许开发者在服务器端执行JavaScript代码,极大地拓宽了JavaScript的应用领域。标题“Welcome to Node.js v14.17.6”表明我们将探讨的是Node.js的特定版本——v...
Node.js 是一个开源、跨平台的JavaScript运行环境,它允许开发者在服务器端执行JavaScript代码,极大地拓宽了JavaScript的应用领域。10.16.3-x64 版本是 Node.js 的一个稳定版本,适用于64位操作系统。下面将详细...
Node.js 内部使用 Google V8 JavaScript 引擎来执行代码;大部分基本模块都是用 JavaScript 编写的。Node.js 包含一个用于文件、套接字和 HTTP 通信的内置异步 I/O 库。HTTP 和套接字支持允许 Node.js 充当 Web ...
描述中提到,这个“完整版Node.js运行时”意味着它包含了所有必要的组件,能够在移动设备上执行Node.js代码,这通常包括V8引擎、Node.js核心库、以及各种内置模块。在Android和iOS上运行Node.js,开发者可以利用...
- **单线程**:虽然执行用户代码是单线程的,但Node.js通过工作进程和异步调用来处理多任务,确保高效运行。 - **V8引擎**:利用Google的V8引擎,Node.js能够快速执行JavaScript代码,提供了接近原生的性能。 - *...
Node.js 内部使用 Google V8 JavaScript 引擎来执行代码;大部分基本模块都是用 JavaScript 编写的。Node.js 包含一个用于文件、套接字和 HTTP 通信的内置异步 I/O 库。HTTP 和套接字支持允许 Node.js 充当 Web ...
Node.js 是一个流行的开源JavaScript运行环境,它允许开发者在服务器端使用JavaScript进行编程。`systeminformation` 是一个针对Node.js的高效模块,专门用于获取多种系统级别的信息,如硬件、系统和操作系统详情。...
安装并集成这个库后,你可以通过JavaScript代码调用Android原生方法,启动和控制Node.js进程。 2. 创建自定义Android模块:如果你需要更精细的控制或现有的库不能满足需求,可以创建一个自定义的React Native模块。...
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环境中,我们可以使用`jsdom`库来模拟浏览器环境执行JavaScript代码,或者使用`xhr`库来异步加载外部脚本。这有助于在服务器端预处理JavaScript,从而提高客户端的加载速度。 3. **resolveHTML(htmlStr)**...
标题中的“Node.js-一个用于自动获取支付宝账单信息的Node.js模块”表明我们要讨论的是一个基于Node.js的模块,其主要功能是自动化获取支付宝用户的账单数据。这个模块利用了Node.js的非阻塞I/O和事件驱动特性,使得...
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,它让开发者能够使用 JavaScript 来编写服务器端程序。在 Linux 或类 Unix 系统中,`top` 命令是一个非常实用的工具,可以实时显示系统中各个进程的资源...