node.js 建立子程序 I
阿新 • • 發佈:2019-02-06
- 建立father.js檔案
/****************
* child_process模組提供產生子程序的方法
* 當有CPU密集型的任務,為了不阻塞事件迴圈,
* 或者是執行一個外部命令可以,產生一個子程序,
* 讓子程序執行這個任務
* *******************/
var childProcess = require('child_process');
var exec = childProcess.exec;
exec("ls", (err, stdout, stderr) => {
if (err) throw err;
console.log(stdout);
});
//在父程序環境變數中加入一個新的變數,作為子程序的環境變數
var env = process.env;
env['number'] = 111; ////加入一個整型變數,子程序讀取為String型別
//exec設定可選的引數
var options = {
timeout: 10000, //超時
killSignal: 'SIGKILL', //超時或超出快取傳送終止訊號給子程序
env: env //子程序環境變數
};
exec("node child.js", options, (err, stdout, stderr) => {
if (err) throw err;
console.log("stdout: ", stdout);
console.log("stderr: " + stderr);
});
- 建立child.js檔案,將兩個檔案放在同一個路徑下
var number = process.env.number;
//程序讀取的所有環境變數值都是string型別
console.log(typeof (number));
number = parseInt(number, 10);
console.log(typeof (number));
- 執行
node father.js
- 輸出
child.js
father.js
file.js
test
stdout: string
number
stderr: