Node.js學習筆記(5)——關於child_process模塊


child_process是node一個比較重要的模塊,通過它可以實現創建多線程,來利用多核CPU。

這個模塊提供了四個創建子進程的函數。

spawn、exec、execFile、fork。

spawn是最原始的創建子進程的函數,剩下的三個是對這個函數不同程度的封裝。

spawn不支持回調函數。

fork只能執行js文件。例如fork('./child.js');

總結一下:當你想要從子進程返回大量數據時使用spawn,如果只是返回簡單的狀態信息,那么使用exec。

exec和execFile均支持回調函數。區別就是后者不用啟動獨立的shell,相對來說更加輕量級。我們拿execFile舉例說明(打開存放在固定位置的bat文件,執行文件的命令行)(親測通過):

 1 var child_process = require('child_process');
 2 //調用執行文件
 3 var openApp = function(){
 4     child_process.execFile('D:/testweb/1.bat',null,{cwd:'D:/'},function (error,stdout,stderr) {
 5         if (error !== null) {
 6           console.log('exec error: ' + error);
 7         }
 8     });
 9 }
10 
11 openApp();

 

bat文件是個很好玩的東西,后面會有bat文件的博文。^_^

 參考資料:

http://my.oschina.net/u/252343/blog/185998

https://www.byvoid.com/zhs/blog/node-child-process-ipc/

官方文檔:

http://nodejs.org/api/child_process.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM