nade.js(一)进程管理
简介
process是一个全局内置对象,可以在代码中的任何位置访问此对象,这个对象代表我们的node.js代码宿主的操作系统进程对象。
使用process对象可以截获进程的异常、退出等事件,也可以获取进程的当前目录、环境变量、内存占用等信息,还可以执行进程退出、工作目录切换等操作。
1.cwd函数的基本用法
当我们想要查看应用程序当前目录时,可以使用cwd函数,使用语法如下:
- process.cwd();
2.chdir函数的基本用法
如果需要改变应用程序目录,就要使用chdir函数了,它的用法如下:
- process.chdir("目录");
3.stdout的基本用法
stdout是标准输出流,它是干什么的呢?请下看下面的示例:
- console.log = function(d){
- process.stdout.write(d+'\n');
- }
没错,它的作用就是将内容打印到输出设备上,console.log就是封装了它。
4.stderr的基本用法
stderr是标准错误流,和stdout的作用差不多,不同的是它是用来打印错误信息的,我们可以通过它来捕获错误信息,基本使用方法如下:
- process.stderr.write(输入内容);
5.stdin的基本用法
stdin是进程的输入流,我们可以通过注册事件的方式来获取输入的内容,如下:
- process.stdin.on('readable', function() {
- var chunk = process.stdin.read();
- if (chunk !== null) {
- process.stdout.write('data: ' + chunk);
- }
- });
示例中的chunk就是输入流中的内容。
6.exit函数的基本用法
如果你需要在程序内杀死进程,退出程序,可以使用exit函数,示例如下:
- process.exit(code);
参数code为退出后返回的代码,如果省略则默认返回0;
7.注册事件
前面讲到如何在输入流中打印信息,当我们需要获取stdout内容的时候应该怎么做呢?请看如下的示例:
- process.stdout.on('data',function(data){
- console.log(data);
- });
为stdout注册data事件,我们就可以拿到它输出的内容了。
8.设置编码
在我们的输入输出的内容中有中文的时候,可能会乱码的问题,这是因为编码不同造成的,所以在这种情况下需要为流设置编码,如下示例:
- process.stdin.setEncoding(编码);
- process.stdout.setEncoding(编码);
- process.stderr.setEncoding(编码);
nade.js(一)进程管理的更多相关文章
- Node.js的进程管理
众所周知Node基于V8,而在V8中JavaScript是单线程运行的,这里的单线程不是指Node启动的时候就只有一个线程,而是说运行JavaScript代码是在单线程上,Node还有其他线程,比如进 ...
- 关于node.js的进程管理
如果是单纯的运行一个node进程,那会比较简单,例如: node ./example.js 但是一般来说,当我们运行一个node进程之后,我们可能希望对这个进程进行更多的管理,例如,当node程序是一 ...
- node.js整理 05进程管理
简介 NodeJS可以感知和控制自身进程的运行环境和状态,也可以创建子进程并与其协同工作,这使得NodeJS可以把多个程序组合在一起共同完成某项工作,并在其中充当胶水和调度器的作用 常用API Pro ...
- 【nodejs学习】3.进程管理及异步编程
进程管理 1.调用终端命令实现目录目录拷贝 var child_procress = require('child_procress'); var util = require('util'); fu ...
- Node的安装和进程管理
安装nvm git clone https://github.com/creationix/nvm.git source nvm/nvm.sh 安装node nvm install 6.14.4(版本 ...
- 服务器端配置nodejs环境(使用pm2进程管理运行)
一.brew安装: 由于Mac没有装ubantu,所以不能用apt-get命令,在本地命令行下Mac安装homebrew替代: https://brew.sh 二.新开命令窗口,登录root用户,安 ...
- PHP FastCGI进程管理器PHP-FPM的架构
一个master进程,支持多个pool,每个pool由master进程监听不同的端口,pool中有多个worker进程.每个worker进程都内置PHP解释器,并且进程常驻后台,支持prefork动态 ...
- nodeJS进程管理器pm2
pm2是一个带有负载均衡功能的Node应用的进程管理器.当你要把你的独立代码利用全部的服务器上的所有CPU,并保证进程永远都活着,0秒的重载, PM2是完美的. PM2是开源的基于Nodejs的进程管 ...
- electron教程(二): http服务器, ws服务器, 进程管理
我的electron教程系列 electron教程(一): electron的安装和项目的创建 electron教程(二): http服务器, ws服务器, 进程管理 electron教程(三): 使 ...
随机推荐
- Windows上安装Xampp后通过命令行进入MariaDB
题外话:读<MYSQL必知必会>,书中让我找个数据库服务器练手,我就去下了个Xampp,由于看的08年网易上的动态网站开发,那个时候Xampp中的m代表MYSQL,后来通过命令行进入MYS ...
- Ext 怎么发ajax请求
Ext3.3完整包 Ext3.3中文文档 数据表的结构是:数据表table > 记录record > 字段 store的结构是: Ext.data.Store > Ext.dat ...
- javacript 面向对象
1.对象 使用Object创建对象 var p = new Object(); p.name = 'jason'; p.sayName = function(){ alert(this.name); ...
- hdu 5567 sequence1(水)
问题描述 给定长度为n的序列a,求有多少对i,j(i<j),使得∣ai−aj∣ mod b=c 输入描述 若干组数据(大概5组). 每组数据第一行三个整数n(≤n≤),b,c(≤c<b ...
- IOS(swift)-数据存储 · 用NSUserDefaults存储配置信息
1.用NSUserDefaults存储配置信息 注:本次使用NSUserDefaults存储信息是在不考虑安全问题的前提下.分两种情况:1.如果是密码用户名等敏感信息,请使用Keychain存储用户敏 ...
- 【单调队列】【3-21个人赛】【problmeB】
Problem B Time Limit : 4000/2000ms (Java/Other) Memory Limit : 65535/32768K (Java/Other) Total Sub ...
- odbc连接数据库
using System; using System.Collections.Generic; using System.Text; using Console = System.Console; u ...
- Map笔记总结
Map :存储的是键值对,一对一对出现的,要保证键的唯一性. Map常见的三个子类.1.HashTable 底层是哈希表结构,不能存在null的情况.该集合是线程同步的.效率低此类实现一个哈希表,该哈 ...
- 常见Web Service 使用网址
下面的网址是常用Web Service http://www.webxml.com.cn/zh_cn/web_services.aspx 里面的很多Web Service接口...可以用到的,很有用!
- 12款令程序员惊叹的CSS3效果库
最新的CSS3都配备了新的特性,来设计创建动画和互动的网页.在本文中,可以找到一些非常优秀的CSS3效果库,来让你的Web设计看起来更加引人注目.还在等什么?让我们一起看起来吧! Animate.cs ...