@@ -26,7 +26,7 @@ process对象提供一系列属性,用于返回系统信息。
2626
2727下面是主要属性的介绍。
2828
29- ** (1) process.stdout,process.stdin**
29+ ### process.stdout,process.stdin
3030
3131process.stdout用来控制标准输出,也就是在命令行窗口向用户显示内容。它的write方法等同于console.log。
3232
@@ -71,18 +71,28 @@ process.stdin.pipe(process.stdout)
7171
7272上面代码表示将标准输入导向标准输出。
7373
74- ** (2)process.argv **
74+ 由于stdin和stdout都部署了stream接口,所以可以使用stream接口的方法。
7575
76- process.argv返回命令行脚本的各个参数组成的数组。第一个成员是node可执行文件,第二个成员是脚本文件名,其余成员是脚本文件的参数。
76+ ``` javascript
77+
78+ process .stdin .resume ();
79+ process .stdin .setEncoding (' utf8' );
80+ process .stdin .on (' data' , function (data ) {
81+ process .stdout .write (data);
82+ });
83+
84+ ```
85+
86+ ### process.argv
87+
88+ process.argv返回命令行脚本的各个参数组成的数组。第一个成员总是node,第二个成员是脚本文件名,其余成员是脚本文件的参数。
7789
7890请看下面的例子,新建一个脚本文件argv.js。
7991
8092{% highlight javascript %}
8193
8294// argv.js
83-
8495console.log("argv: ",process.argv);
85- console.log("argc: ",process.argc);
8696
8797{% endhighlight %}
8898
@@ -100,7 +110,6 @@ $ node argv.js a b c
100110{% highlight javascript %}
101111
102112// argv.js
103-
104113var myArgs = process.argv.slice(2);
105114console.log(myArgs);
106115
@@ -120,7 +129,9 @@ process对象提供以下方法:
120129- ** process.setgid()** :指定当前进程的组,可以使用数字ID,也可以使用字符串ID。
121130- ** process.setuid()** :指定当前进程的用户,可以使用数字ID,也可以使用字符串ID。
122131
123- (1)process.cwd(),process.chdir()
132+ ### process.cwd(),process.chdir()
133+
134+ cwd方法返回进程的当前目录,chdir方法用来切换目录。
124135
125136{% highlight bash %}
126137
@@ -133,7 +144,7 @@ process对象提供以下方法:
133144
134145{% endhighlight %}
135146
136- (2) process.nextTick()
147+ ## process.nextTick()
137148
138149process.nextTick()将任务放到当前执行栈的尾部。
139150
@@ -155,19 +166,23 @@ setTimeout(function () {
155166
156167{% endhighlight %}
157168
158- (3) process.exit()
169+ ### process.exit()
159170
160171process.exit方法用来退出当前进程,它可以接受一个数值参数。如果参数大于0,表示执行失败;如果等于0表示执行成功。
161172
162173``` bash
163174
164- process.exit(1);
175+ if (err) {
176+ process.exit(1);
177+ } else {
178+ process.exit(0);
179+ }
165180
166181` ` `
167182
168183process.exit ()执行时,会触发exit事件。
169184
170- (4) process.on()
185+ # ## process.on()
171186
172187process.on方法用来监听各种事件,并指定回调函数。
173188
@@ -184,7 +199,27 @@ setTimeout(function(){
184199
185200` ` `
186201
187- (5)process.kill()
202+ process支持的事件有以下一些。
203+
204+ - data事件:数据输出输入时触发
205+ - SIGINT事件:接收到系统信号时触发
206+
207+ ` ` ` javascript
208+
209+ process.on(' SIGINT' , function () {
210+ console.log(' Got a SIGINT. Goodbye cruel world' );
211+ process.exit(0);
212+ });
213+
214+ ` ` `
215+
216+ 使用时,向该进程发出系统信号,就会导致进程退出。
217+
218+ ` ` ` bash
219+ $ kill -s SIGINT [process_id]
220+ ` ` `
221+
222+ # ## process.kill()
188223
189224process.kill方法用来对指定ID的线程发送信号,默认为SIGINT信号。
190225
0 commit comments