如果想运行一个外部的应用程序,并得到输出结果,那么使用exeFile方法是最直接的:
var cp = require("child_process"); cp.execFile("ping",["www.jshaman.com"],function(err,stdout,stderr){ if(err){ console.error(err); } console.log("stdout:",stdout) console.log("stderr:",stderr); });程序解读:
1、引用nodejs内置模块child_process;
2、用execFile方法调用外部程序。
execFIle的第一个参数是要调用的程序,
第二个参数,需要放在数组里,是传给外部程序的参数。
第三个参数是回调函数,在回调中,可以取得外部程序的执行结果。
运行,效果如下:
除了命令行程序,当然也可以打开窗口应用程序,比如打开记事本,对代码稍做修改:
执行时,记事事程序就会被打开。
而且直接关闭记事本程序,程序中才会触发回调,无论时间多久。
更多本系列文章:
Node.JS实战19:实现加密的tcp、https服务器
Node.JS实战18:创建DNS请求、查询域名IP
Node.JS实战17:开发一个正向代理服务器