【我可以你也可以的Node.js】第四篇 - 进程、行程、过程、行程、程序、处理程序、Process

进程、行程、过程、行程、程序、处理程序
都是指Process
嗯所以我说...
难道不能统一 一下吗?ლ(╹◡╹ლ)
不行!不可以!休想!╭∩╮( ͡⚆ ͜ʖ ͡⚆)╭∩╮

但是我下面都会统一用Process来说 xDD

注:╭∩╮ : 是指手指头,并非其他事物。


Hi 各位大大,
我是Robin (,,・ω・,,)
这篇来记录和分享一下我在学习Node中的Process
一开始看得时候总觉得是个非常麻烦的东西QQ
实际上...

哈哈哈哈哈(*゚∀゚*)
哈哈哈(゚∀゚)
哈...(´・ω・`)
呜呜呜呜呜இдஇ

如果有看一遍解决不了的东西!ヽ(́◕◞౪◟◕‵)ノ
那就看两遍!( ゚∀゚)o彡゚
如果两遍还看不懂!(((゚Д゚;)))
那就放弃(´,,•ω•,,)♡

这篇主要学习目标(゚∀。)

Process 是什么它能干嘛?σ ゚∀ ゚) ゚∀゚)σProcess 入门攻略( ゚∀゚) ノ♡

Process 是什么它能干嘛?σ ゚∀ ゚) ゚∀゚)σ

都讲到Process了,就顺带提一下跟他非常有关係的Program和Thread
经过我认真又随便的研究,以我的观察来看(完全不附带任何责任)
我们以简单粗暴的大概认识一下(越粗暴我越爱

Program = 我们写的Code(还没被执行)=> 存在硬碟(Rom)
Process = 我们写的Code (已经被执行且并已载入到记忆体)=> 存在记忆体(Ram)
Thread = Process的执行单位(Process 是 Thread 的容器)=>存在Process

好了~为了怕模糊焦点我们不要那么深入探讨这个
绝对不是我不懂或是我懒惰喔!
如果有大大要补充我也是非常愿意copy paste 在文章内的唷xDD

来专注在Process吧!
列出以下我看到的Process是什么他能干嘛?

Process是Node中的一个全域变数(如果不知道什么是全域变数可以看上一篇),他可以直接使用也可以使用require来使用
const process = require('process');读:获取程序资讯
写:执行程序操作
From Node.js process模组解读

嗯看起来最蛋疼的就是第三点

Process 入门攻略( ゚∀゚) ノ♡

为什么说是入门?
因为如果全部写完我大概主题会改为 => 从入门到放弃的NodeJs (´≖◞౪◟≖)
我们就来了解上述说的

读:获取程序资讯
写:执行程序操作

注意: 下面列举的内容只是"部分",
有兴趣可以看一下官方process的API document。

获取程序资讯

这边感觉就是需要再查也可以的部分,我觉得不用特别记。
单纯稍微看一下搞不好哪天想到有需要可以直接知道在process就可以get 到了

获取Process所消耗的记忆体

process.memoryUsage())
{  rss: 21590016,      // 总共佔用的记忆体  heapTotal: 4251648, // V8引擎总共使用的记忆体  heapUsed: 2161344,  // V8引擎目前使用的记忆体  external: 680685    // 管理V8的记忆体}

获取处理user和system的CPU所需时间

process.cpuUsage()
{     user: 33426,      system: 11480 }

获取PID资讯

目前我不知道这个要拿来干嘛@@
也许是打开工作管理员可以早点找到他?
或是拿取pid 在某些情境可以砍掉(?)

process.pid
<PID>

获取目前程式执行目录(我觉得实用)

实用原因是假使,今天要执行某module,可是在不同的资料夹而且有很多层
使用相对路径可能会有很多层例如=> ../../../../module/<module>
这时候用这个就满方便的。

process.cwd()
/Users/robinzhang/nodeLearning

Node执行目录(感觉会用到)

这个跟上面那个差异在
一个是程式执行的位置
一个是Node的资源位置

process.execPath
/usr/local/bin/node

获取CPU架构

如果妳朋友不知道他电脑是几位元的时候你可以包一个这只程式,就可以马上知道(?)
还可以装逼

process.arch
x64 //or x86

执行程序操作

我觉得这部分可能是process模组最大需要理解的,
感觉要深入玩这个不可以不知道的感觉。
我的推测啦xD
这部分我觉得必须知道什么是EventLoop和EventEmiiter
之后理论上再分享我看起来的EventLoop 和EventEmiiter
这部分....我非常抱歉~我下篇再讲
实际原因不是因为这週看太多冰与火之歌
也不是因为Netflix太好看
是因为个人私事太多
先说声抱歉Orz

本篇心得

我发现我到现在的处境很像是刚入门的学徒
如果我是要学着当厨师的人,我现在就在洗碗

如果我是要学着当黑手的人,我现在就在换机油

这些比较枯燥乏味的东西,
说实话学的真的是不知道什么时候会用到Orz
但是我相信这都是Node给我的考验
绝对不是厨师懒得洗碗,师傅懒得帮客人换机油。
没错!
都是考验!
应该吧

不管如何都是因为以前太混所以我很多东西都不懂啦QQ
俗话说的好

蹲得越低,脚越酸。

我会努力的
感谢大大的观看

参考文献

Banner设计
Node.js process模组解读
process Node.js API
Program/Process/Thread 差异
JavaScript 运行机制详解:再谈Event Loop


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章