對象ChildProcess
子進程對象
1
2var child_process = require("child_process");
var child = child_process.spawn("ls");
繼承關係
靜態屬性
defaultMaxListeners
Integer, 默認全局最大監聽器數
1static Integer ChildProcess.defaultMaxListeners;
成員屬性
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;
成員函數
kill
殺掉當前對象指向的進程,並傳遞信號
1ChildProcess.kill(Integer signal);
調用參數:
- signal: Integer, 傳遞的信號
殺掉當前對象指向的進程,並傳遞信號
1ChildProcess.kill(String signal);
調用參數:
- signal: String, 傳遞的信號
join
等待當前對象指向的進程結束,並返回進程結束代碼
1ChildProcess.join() async;
返回結果:
- 進程的結束代碼
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 序列化的值