Process Node.js 进程
Process 进程
- process.argv 是命令行参数数组,第一个元素是node,第二个元素是脚本文件名,从第三个元素开始每个元素是一个运行参数。
- process.stdout 标准输出流 console.log的定义。
console.log = function (d) {
process.stdout.write(d + '\n');
};
通常我们使用的console.log()向标准输出打印字符,而process.stdout.write()函数提供了更底层的接口
- process.stdin 是标准输入流,初始时它是被暂停的,要想从标准输入读取数据,你必须恢复流,并手动编写流的事件响应函数。
- process.nextTick(callback) 异步执行callback函数 为事件循环设置一项任务,Node.js 会在下次事件循环调响应时调用callback。
- process.chdir 改变进程的工作目录
- process.cwd 返回当前进程的工作目录
- process.env 返回当前linux系统的信息
- process.exit(code=0) kill当前进程,退出本进程 n=0表示正确退出,1表示异常退出
- process.getgid()、process.setgid(id) 获取和设置进程的groupid
- process.getuid()、process.setuid(id) 获取和设置进程的userid
- process.version、process.versions node.js的版本和node.js的版本对象
- process.pid、process.title、process.arch、process.platform 进程id,进程名字,进程架构(如:X64),进程平台(如:linux)
- process.memoryUsage() 进程的内存使用情况
进程事件:
//退出
process.on('exit',function(){
console.log('EXIT');
}); //未处理得异常
process.on('uncaughtException',function(err){
console.error(err.stack)
});
接收SIGINT(Ctrl+C 退出)信号:
//在接收到信号以后 可以做一系列的操作 比如关闭链接,写日志等等。
process.stdin.resume(); process.on('SIGINT',function(){
console.log('Go to Sigint exiting');
process.exit(0);
})
接收SIGTERM(kill命令)信号:
process.on('SIGTERM',function(){
console.log('Go a SIGTERM, exiting');
process.exit(0);
})
shebang 调用脚本
在你的js第一行写入下面#!/usr/bin/env node 将该文件设置为可执行(给权限)sudo chmod +x app.js 然后在写代码:
console.log('TEST');
通过以上步骤以后 你就可以在系统中 调用该文件 ./app.js 无需node 命令
示例(利用命令生成js):
#!/usr/bin/env node
var fs = require('fs');
var argv = process.argv;
console.log(argv);
fs.writeFile(argv[2]+'.js',"'use strict';",function(err){
if(err) throw err;
console.log('has finished');
});
Process Node.js 进程的更多相关文章
- Node.js进程管理之Process模块
在前面Node.js事件运行机制也有提到,Node.js应用在单个线程运行,但是现在大部分服务器都是多处理器,为了方便使用多个进程,Node.js提供了3个模块.Process模块提供了访问正在运行的 ...
- 避免uncaughtException错误引起node.js进程崩溃
uncaughtException 未捕获的异常, 当node.js 遇到这个错误,整个进程直接崩溃. 或许这俩个人上辈子一定是一对冤家. 或许这俩个人经历了前世500次的回眸才换来了今生的相遇,只可 ...
- Node.js进程管理之子进程
一.理论 之前看多进程这一章节时发现这块东西挺多,写Process模块的时候也有提到,今天下午午休醒来静下心来好好的看了一遍,发现也不是太难理解. Node.js是单线程的,对于现在普遍是多处理器的机 ...
- 深入理解 Node.js 进程与线程
原文链接: https://mp.weixin.qq.com/s?__biz=MzAxODE2MjM1MA==&mid=2651557398&idx=1&sn=1fb991da ...
- 拿什么守护你的Node.JS进程: Node出错崩溃了怎么办? foreverjs, 文摘随笔
守护进程 方案一 npm install forever https://github.com/foreverjs/forever 方案二 npm install -g supervisor http ...
- Node.js 进程
process 是全局对象,能够在任意位置访问,是 EventEmitter 的实例. 退出状态码 当没有新的异步的操作等待处理时,Node 正常情况下退出时会返回状态码 0 .下面的状态码表示其他状 ...
- Node.js 进程平滑离场剖析
本文由云+社区发表 作者:草小灰 使用 Node.js 搭建 HTTP Server 已是司空见惯的事.在生产环境中,Node 进程平滑重启直接关系到服务的可靠性,它的重要性不容我们忽视.既然是平滑重 ...
- 拿什么守护你的Node.JS进程: Node出错崩溃了怎么办?
被吐嘈的NodeJS的异常处理 许多人都有这样一种映像,NodeJS比较快: 但是因为其是单线程,所以它不稳定,有点不安全,不适合处理复杂业务: 它比较适合对并发要求比较高,而且简单的业务场景. 在E ...
- Node.js进程管理之进程集群
一.cluster模块 Node.js是单线程处理,对于高并发的请求怎么样能增加吞吐量呢?为了提高服务器的利用率,能不能多核的来处理呢?于是就有了cluster模块. cluster模块可以轻松实现运 ...
随机推荐
- [置顶] 实习总结3-job hunting(西安工作)
开始整理关于西安top level的IT企业的工作从去年开始实习就慢慢展开了,到了北京之后一直关注的比较密切,因此前前后后也整理了很多.本来不打算那么急着写这一篇的,但是在因为在公司呆着,对于西安的一 ...
- docker 基于现有镜像修改后保存,上传私有仓库
docker:/root# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f3cb864be528 192.168.3 ...
- Linux网桥
linux网桥的功能 转发数据包 网桥的功能在延长网络跨度上类似于中继器,然而它能提供智能化连接服务,即根据帧的终点地址处于哪一网段来进行转发和滤除.网桥对站点所处网段的了解是靠"自学习&q ...
- [置顶] 通过实例学习Struts2 (1)
前言 一直用Struts1 , 现在新的项目要转向Struts2了, 先研究学习一下,做点技术储备. 我一直认为计算机软件行业是一个实践性非常强的行业,书读了多少都不管用, 一定要卷起袖子,亲自动手, ...
- Python学习笔记8-类的继承 、深度优先、广度优先
Python 类声明 语法: class 类名: 类体 例: #--encoding:utf-8-- # class AddressBookEntity: myVersion=0.1 def __in ...
- oracle实例名,数据库名,服务名等概念差别与联系
数据库名.实例名.数据库域名.全局数据库名.服务名 这是几个令非常多刚開始学习的人easy混淆的概念.相信非常多刚開始学习的人都与我一样被标题上这些个概念搞得一头雾水.我们如今就来把它们弄个明确. 一 ...
- Android判断网络连接状态
有的时候我们的应用可能需要判断当前设备是否联网 private void init() { /** 获得系统级联网管理员对象 */ ConnectivityManager manager = (Con ...
- SQL Server表和字段说明的增加和更新
1. 增加字段说明 EXEC sp_addextendedproperty 'MS_Description', 'some description', 'user', ...
- LintCode (9)Fizz Buzz
下面是AC代码,C++风格: class Solution { public: vector<string> fizzBuzz(int N) { vector<string> ...
- OC语法3——点语法,self关键字
点语法: 为了给程序员提供便捷,OC中也引入了点语法.不过它和Java中点语法的意义是完全不同的. 在Java中无论调用任何方法,还是访问public类型的成员变量都是用点语法(.号). 而在OC ...