[AMI]如何执行一个Node.js进程?

时间:2018-10-22 07:33:53

标签: node.js ami

当然, 我知道Node.js是一种单线程语言。 但是出了点问题...

环境:

操作系统:

NAME="Amazon Linux AMI"
VERSION="2018.03"

Node.js:

$ node -v
v8.12.0

(已安装nodebrew)

我执行了这个

hoge.js:

$ cat  hoge.js
for (let i = 0; i < 10000; i++) {
  console.log('hoge');
}

输出:

$ node hoge.js
hoge
hoge
hoge
hoge
hoge
.
.

htop(类似于top命令的交互式进程查看器):

PID   USER     PRI NI VIRT RES   SHR  S  CPU%  MEM%  TIME+ Command
10001 ec2-user 20  0  971M 149M 22188 R  54.0  7.5 0:05.79 node hoge.js
10002 ec2-user 20  0  971M 149M 22188 S  0.0   7.5 0:00.03 node hoge.js
10003 ec2-user 20  0  971M 149M 22188 S  0.0   7.5 0:00.07 node hoge.js
10004 ec2-user 20  0  971M 149M 22188 S  0.0   7.5 0:00.07 node hoge.js
10005 ec2-user 20  0  971M 149M 22188 S  0.0   7.5 0:00.07 node hoge.js

发生了什么事?

我想通过一个进程执行此操作。 有配置文件吗?

谢谢。

1 个答案:

答案 0 :(得分:1)

那些可能是单个进程的许多线程。

默认情况下,htop也显示线程,而不是进程。您可以在其设置(“显示用户界面线程” /“颜色用户界面线程”)中更改此行为。

就运行的用户代码而言,Node是单线程的,但它仍然具有内部线程,例如垃圾收集或其他东西。