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 序列化的值