进程、行程、过程、行程、程序、处理程序
都是指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是什么他能干嘛?
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