Object 内置对象

对象 ChildProcess

子进程对象

1 2
var child_process = require("child_process"); var child = child_process.spawn("ls");

继承关系

静态属性

defaultMaxListeners

Integer, 默认全局最大监听器数

1
static Integer ChildProcess.defaultMaxListeners;

成员属性

connected

Boolean, 查询与子进程的管道是否正常连接

1
readonly Boolean ChildProcess.connected;

pid

Integer, 读取当前对象指向的进程的 id

1
readonly Integer ChildProcess.pid;

exitCode

Integer, 查询和设置当前进程的退出码

1
readonly Integer ChildProcess.exitCode;

stdin

Stream, 读取当前对象指向的进程的标准输入对象

1
readonly Stream ChildProcess.stdin;

stdout

Stream, 读取当前对象指向的进程的标准输出对象

1
readonly Stream ChildProcess.stdout;

stderr

Stream, 读取当前对象指向的进程的标准错误对象

1
readonly Stream ChildProcess.stderr;

onexit

Function, 查询和绑定进程退出事件,相当于 on("exit", func);

1
Function ChildProcess.onexit;

onmessage

Function, 查询和绑定子进程消息事件,相当于 on("message", func);

1
Function ChildProcess.onmessage;

成员函数

kill

杀掉当前对象指向的进程,并传递信号

1
ChildProcess.kill(Integer signal);

调用参数:

  • signal: Integer, 传递的信号

杀掉当前对象指向的进程,并传递信号

1
ChildProcess.kill(String signal);

调用参数:

  • signal: String, 传递的信号

join

等待当前对象指向的进程结束,并返回进程结束代码

1
Integer ChildProcess.join() async;

返回结果:

  • Integer, 进程的结束代码

disconnect

关闭与子进程的 ipc 管道

1
ChildProcess.disconnect();

send

向当前子进程发送一个消息

1
ChildProcess.send(Value msg);

调用参数:

  • msg: Value, 指定发送的消息

usage

查询当前进程占用的内存和花费的时间

1
Object ChildProcess.usage();

返回结果:

  • Object, 返回包含时间报告

内存报告生成类似以下结果:

1 2 3 4 5
{ "user": 132379, "system": 50507, "rss": 8622080 }

其中:

  • user 返回进程在用户代码中花费的时间,单位为微秒值(百万分之一秒)
  • system 返回进程在系统代码中花费的时间,单位为微秒值(百万分之一秒)
  • rss 返回进程当前占用物理内存大小

on

绑定一个事件处理函数到对象

1 2
Object ChildProcess.on(String ev, Function func);

调用参数:

  • ev: String, 指定事件的名称
  • func: Function, 指定事件处理函数

返回结果:

  • Object, 返回事件对象本身,便于链式调用

绑定一个事件处理函数到对象

1
Object ChildProcess.on(Object map);

调用参数:

  • map: Object, 指定事件映射关系,对象属性名称将作为事件名称,属性的值将作为事件处理函数

返回结果:

  • Object, 返回事件对象本身,便于链式调用

addListener

绑定一个事件处理函数到对象

1 2
Object ChildProcess.addListener(String ev, Function func);

调用参数:

  • ev: String, 指定事件的名称
  • func: Function, 指定事件处理函数

返回结果:

  • Object, 返回事件对象本身,便于链式调用

绑定一个事件处理函数到对象

1
Object ChildProcess.addListener(Object map);

调用参数:

  • map: Object, 指定事件映射关系,对象属性名称将作为事件名称,属性的值将作为事件处理函数

返回结果:

  • Object, 返回事件对象本身,便于链式调用

prependListener

绑定一个事件处理函数到对象起始

1 2
Object ChildProcess.prependListener(String ev, Function func);

调用参数:

  • ev: String, 指定事件的名称
  • func: Function, 指定事件处理函数

返回结果:

  • Object, 返回事件对象本身,便于链式调用

绑定一个事件处理函数到对象起始

1
Object ChildProcess.prependListener(Object map);

调用参数:

  • map: Object, 指定事件映射关系,对象属性名称将作为事件名称,属性的值将作为事件处理函数

返回结果:

  • Object, 返回事件对象本身,便于链式调用

once

绑定一个一次性事件处理函数到对象,一次性处理函数只会触发一次

1 2
Object ChildProcess.once(String ev, Function func);

调用参数:

  • ev: String, 指定事件的名称
  • func: Function, 指定事件处理函数

返回结果:

  • Object, 返回事件对象本身,便于链式调用

绑定一个一次性事件处理函数到对象,一次性处理函数只会触发一次

1
Object ChildProcess.once(Object map);

调用参数:

  • map: Object, 指定事件映射关系,对象属性名称将作为事件名称,属性的值将作为事件处理函数

返回结果:

  • Object, 返回事件对象本身,便于链式调用

prependOnceListener

绑定一个事件处理函数到对象起始

1 2
Object ChildProcess.prependOnceListener(String ev, Function func);

调用参数:

  • ev: String, 指定事件的名称
  • func: Function, 指定事件处理函数

返回结果:

  • Object, 返回事件对象本身,便于链式调用

绑定一个事件处理函数到对象起始

1
Object ChildProcess.prependOnceListener(Object map);

调用参数:

  • map: Object, 指定事件映射关系,对象属性名称将作为事件名称,属性的值将作为事件处理函数

返回结果:

  • Object, 返回事件对象本身,便于链式调用

off

从对象处理队列中取消指定函数

1 2
Object ChildProcess.off(String ev, Function func);

调用参数:

  • ev: String, 指定事件的名称
  • func: Function, 指定事件处理函数

返回结果:

  • Object, 返回事件对象本身,便于链式调用

取消对象处理队列中的全部函数

1
Object ChildProcess.off(String ev);

调用参数:

  • ev: String, 指定事件的名称

返回结果:

  • Object, 返回事件对象本身,便于链式调用

从对象处理队列中取消指定函数

1
Object ChildProcess.off(Object map);

调用参数:

  • map: Object, 指定事件映射关系,对象属性名称作为事件名称,属性的值作为事件处理函数

返回结果:

  • Object, 返回事件对象本身,便于链式调用

removeListener

从对象处理队列中取消指定函数

1 2
Object ChildProcess.removeListener(String ev, Function func);

调用参数:

  • ev: String, 指定事件的名称
  • func: Function, 指定事件处理函数

返回结果:

  • Object, 返回事件对象本身,便于链式调用

取消对象处理队列中的全部函数

1
Object ChildProcess.removeListener(String ev);

调用参数:

  • ev: String, 指定事件的名称

返回结果:

  • Object, 返回事件对象本身,便于链式调用

从对象处理队列中取消指定函数

1
Object ChildProcess.removeListener(Object map);

调用参数:

  • map: Object, 指定事件映射关系,对象属性名称作为事件名称,属性的值作为事件处理函数

返回结果:

  • Object, 返回事件对象本身,便于链式调用

removeAllListeners

从对象处理队列中取消所有事件的所有监听器, 如果指定事件,则移除指定事件的所有监听器。

1
Object ChildProcess.removeAllListeners(String ev);

调用参数:

  • ev: String, 指定事件的名称

返回结果:

  • Object, 返回事件对象本身,便于链式调用

从对象处理队列中取消所有事件的所有监听器, 如果指定事件,则移除指定事件的所有监听器。

1
Object ChildProcess.removeAllListeners(Array evs = []);

调用参数:

  • evs: Array, 指定事件的名称

返回结果:

  • Object, 返回事件对象本身,便于链式调用

setMaxListeners

监听器的默认限制的数量,仅用于兼容

1
ChildProcess.setMaxListeners(Integer n);

调用参数:

  • n: Integer, 指定事件的数量

getMaxListeners

获取监听器的默认限制的数量,仅用于兼容

1
Integer ChildProcess.getMaxListeners();

返回结果:

  • Integer, 返回默认限制数量

listeners

查询对象指定事件的监听器数组

1
Array ChildProcess.listeners(String ev);

调用参数:

  • ev: String, 指定事件的名称

返回结果:

  • Array, 返回指定事件的监听器数组

listenerCount

查询对象指定事件的监听器数量

1
Integer ChildProcess.listenerCount(String ev);

调用参数:

  • ev: String, 指定事件的名称

返回结果:

  • Integer, 返回指定事件的监听器数量

查询对象指定事件的监听器数量

1 2
Integer ChildProcess.listenerCount(Value o, String ev);

调用参数:

  • o: Value, 指定查询的对象
  • ev: String, 指定事件的名称

返回结果:

  • Integer, 返回指定事件的监听器数量

eventNames

查询监听器事件名称

1
Array ChildProcess.eventNames();

返回结果:

  • Array, 返回事件名称数组

emit

主动触发一个事件

1 2
Boolean ChildProcess.emit(String ev, ...args);

调用参数:

  • ev: String, 事件名称
  • args: ..., 事件参数,将会传递给事件处理函数

返回结果:

  • Boolean, 返回事件触发状态,有响应事件返回 true,否则返回 false

toString

返回对象的字符串表示,一般返回 "[Native Object]",对象可以根据自己的特性重新实现

1
String ChildProcess.toString();

返回结果:

  • String, 返回对象的字符串表示

toJSON

返回对象的 JSON 格式表示,一般返回对象定义的可读属性集合

1
Value ChildProcess.toJSON(String key = "");

调用参数:

  • key: String, 未使用

返回结果:

  • Value, 返回包含可 JSON 序列化的值