物件ChildProcess
子行程對象
1
2var child_process = require("child_process");
var child = child_process.spawn("ls");
繼承關係
靜態屬性
defaultMaxListeners
Integer, 預設全域最大監聽器數
1static Integer ChildProcess.defaultMaxListeners;
成員屬性
connected
Boolean, 查詢與子程序的管道是否正常連接
1readonly Boolean ChildProcess.connected;
pid
Integer, 讀取目前物件指向的進程的id
1readonly Integer ChildProcess.pid;
exitCode
Integer, 查詢並設定目前程序的退出碼
1readonly Integer ChildProcess.exitCode;
stdin
Stream, 讀取目前物件指向的程序的標準輸入對象
1readonly Stream ChildProcess.stdin;
stdout
Stream, 讀取目前物件指向的程序的標準輸出對象
1readonly Stream ChildProcess.stdout;
stderr
Stream, 讀取目前物件指向的程序的標準錯誤對象
1readonly Stream ChildProcess.stderr;
onexit
Function, 查詢和綁定程序退出事件,相當於on("exit", func);
1Function ChildProcess.onexit;
onmessage
Function, 查詢和綁定子程序訊息事件,相當於on("message", func);
1Function ChildProcess.onmessage;
成員函數
kill
殺掉目前物件指向的進程,並傳遞訊號
1ChildProcess.kill(Integer signal);
呼叫參數:
- signal: Integer, 傳遞的訊號
殺掉目前物件指向的進程,並傳遞訊號
1ChildProcess.kill(String signal);
呼叫參數:
- signal: String, 傳遞的訊號
join
等待當前物件指向的進程結束,並返回進程結束程式碼
1Integer ChildProcess.join() async;
回傳結果:
- Integer, 進程的結束程式碼
disconnect
關閉與子進程的ipc 管道
1ChildProcess.disconnect();
send
向當前子進程發送一個訊息
1ChildProcess.send(Value msg);
呼叫參數:
- msg: Value, 指定發送的訊息
usage
查詢目前進程所佔用的記憶體和花費的時間
1Object ChildProcess.usage();
回傳結果:
- Object, 返回包含時間報告
記憶體報告產生類似以下結果:
1
2
3
4
5{
"user": 132379,
"system": 50507,
"rss": 8622080
}
其中:
- user 回傳進程在使用者程式碼中花費的時間,單位為微秒值(百萬分之一秒)
- system 回傳進程在系統程式碼中花費的時間,單位為微秒值(百萬分之一秒)
- rss 傳回進程目前佔用實體記憶體大小
on
綁定一個事件處理函數到對象
1
2Object ChildProcess.on(String ev,
Function func);
呼叫參數:
- ev: String, 指定事件的名稱
- func: Function, 指定事件處理函數
回傳結果:
- Object, 傳回事件物件本身,便於鍊式調用
綁定一個事件處理函數到對象
1Object ChildProcess.on(Object map);
呼叫參數:
- map: Object, 指定事件映射關係,物件屬性名稱將作為事件名稱,屬性的值將作為事件處理函數
回傳結果:
- Object, 傳回事件物件本身,便於鍊式調用
addListener
綁定一個事件處理函數到對象
1
2Object ChildProcess.addListener(String ev,
Function func);
呼叫參數:
- ev: String, 指定事件的名稱
- func: Function, 指定事件處理函數
回傳結果:
- Object, 傳回事件物件本身,便於鍊式調用
綁定一個事件處理函數到對象
1Object ChildProcess.addListener(Object map);
呼叫參數:
- map: Object, 指定事件映射關係,物件屬性名稱將作為事件名稱,屬性的值將作為事件處理函數
回傳結果:
- Object, 傳回事件物件本身,便於鍊式調用
prependListener
綁定一個事件處理函數到物件起始
1
2Object ChildProcess.prependListener(String ev,
Function func);
呼叫參數:
- ev: String, 指定事件的名稱
- func: Function, 指定事件處理函數
回傳結果:
- Object, 傳回事件物件本身,便於鍊式調用
綁定一個事件處理函數到物件起始
1Object ChildProcess.prependListener(Object map);
呼叫參數:
- map: Object, 指定事件映射關係,物件屬性名稱將作為事件名稱,屬性的值將作為事件處理函數
回傳結果:
- Object, 傳回事件物件本身,便於鍊式調用
once
綁定一個一次性事件處理函數到對象,一次性處理函數只會觸發一次
1
2Object ChildProcess.once(String ev,
Function func);
呼叫參數:
- ev: String, 指定事件的名稱
- func: Function, 指定事件處理函數
回傳結果:
- Object, 傳回事件物件本身,便於鍊式調用
綁定一個一次性事件處理函數到對象,一次性處理函數只會觸發一次
1Object ChildProcess.once(Object map);
呼叫參數:
- map: Object, 指定事件映射關係,物件屬性名稱將作為事件名稱,屬性的值將作為事件處理函數
回傳結果:
- Object, 傳回事件物件本身,便於鍊式調用
prependOnceListener
綁定一個事件處理函數到物件起始
1
2Object ChildProcess.prependOnceListener(String ev,
Function func);
呼叫參數:
- ev: String, 指定事件的名稱
- func: Function, 指定事件處理函數
回傳結果:
- Object, 傳回事件物件本身,便於鍊式調用
綁定一個事件處理函數到物件起始
1Object ChildProcess.prependOnceListener(Object map);
呼叫參數:
- map: Object, 指定事件映射關係,物件屬性名稱將作為事件名稱,屬性的值將作為事件處理函數
回傳結果:
- Object, 傳回事件物件本身,便於鍊式調用
off
從物件處理佇列中取消指定函數
1
2Object ChildProcess.off(String ev,
Function func);
呼叫參數:
- ev: String, 指定事件的名稱
- func: Function, 指定事件處理函數
回傳結果:
- Object, 傳回事件物件本身,便於鍊式調用
取消物件處理佇列中的全部函數
1Object ChildProcess.off(String ev);
呼叫參數:
- ev: String, 指定事件的名稱
回傳結果:
- Object, 傳回事件物件本身,便於鍊式調用
從物件處理佇列中取消指定函數
1Object ChildProcess.off(Object map);
呼叫參數:
- map: Object, 指定事件映射關係,物件屬性名稱作為事件名稱,屬性的值作為事件處理函數
回傳結果:
- Object, 傳回事件物件本身,便於鍊式調用
removeListener
從物件處理佇列中取消指定函數
1
2Object ChildProcess.removeListener(String ev,
Function func);
呼叫參數:
- ev: String, 指定事件的名稱
- func: Function, 指定事件處理函數
回傳結果:
- Object, 傳回事件物件本身,便於鍊式調用
取消物件處理佇列中的全部函數
1Object ChildProcess.removeListener(String ev);
呼叫參數:
- ev: String, 指定事件的名稱
回傳結果:
- Object, 傳回事件物件本身,便於鍊式調用
從物件處理佇列中取消指定函數
1Object ChildProcess.removeListener(Object map);
呼叫參數:
- map: Object, 指定事件映射關係,物件屬性名稱作為事件名稱,屬性的值作為事件處理函數
回傳結果:
- Object, 傳回事件物件本身,便於鍊式調用
removeAllListeners
從物件處理佇列中取消所有事件的所有監聽器, 如果指定事件,則移除指定事件的所有監聽器。
1Object ChildProcess.removeAllListeners(String ev);
呼叫參數:
- ev: String, 指定事件的名稱
回傳結果:
- Object, 傳回事件物件本身,便於鍊式調用
從物件處理佇列中取消所有事件的所有監聽器, 如果指定事件,則移除指定事件的所有監聽器。
1Object ChildProcess.removeAllListeners(Array evs = []);
呼叫參數:
- evs: Array, 指定事件的名稱
回傳結果:
- Object, 傳回事件物件本身,便於鍊式調用
setMaxListeners
監聽器的預設限制的數量,僅用於相容
1ChildProcess.setMaxListeners(Integer n);
呼叫參數:
- n: Integer, 指定事件的數量
getMaxListeners
取得監聽器的預設限制的數量,僅用於相容
1Integer ChildProcess.getMaxListeners();
回傳結果:
- Integer, 回傳預設限制數量
listeners
查詢物件指定事件的監聽器陣列
1Array ChildProcess.listeners(String ev);
呼叫參數:
- ev: String, 指定事件的名稱
回傳結果:
- Array, 傳回指定事件的監聽器數組
listenerCount
查詢物件指定事件的監聽器數量
1Integer ChildProcess.listenerCount(String ev);
呼叫參數:
- ev: String, 指定事件的名稱
回傳結果:
- Integer, 傳回指定事件的監聽器數量
查詢物件指定事件的監聽器數量
1
2Integer ChildProcess.listenerCount(Value o,
String ev);
呼叫參數:
- o: Value, 指定查詢的對象
- ev: String, 指定事件的名稱
回傳結果:
- Integer, 傳回指定事件的監聽器數量
eventNames
查詢監聽器事件名稱
1Array ChildProcess.eventNames();
回傳結果:
- Array, 傳回事件名稱數組
emit
主動觸發一個事件
1
2Boolean ChildProcess.emit(String ev,
...args);
呼叫參數:
- ev: String, 事件名稱
- args: ..., 事件參數,將會傳遞給事件處理函數
回傳結果:
- Boolean, 回傳事件觸發狀態,有回應事件回傳true,否則回傳false
toString
傳回物件的字串表示,一般回傳"[Native Object]",物件可以根據自己的特性重新實現
1String ChildProcess.toString();
回傳結果:
- String, 傳回物件的字串表示
toJSON
傳回物件的JSON 格式表示,一般傳回物件定義的可讀屬性集合
1Value ChildProcess.toJSON(String key = "");
呼叫參數:
- key: String, 未使用
回傳結果:
- Value, 傳回包含可JSON 序列化的值