async function exec (a) { return new Promise ((resolver, rechazar) => { probar { var end = 0; var http = require ("http"). createServer (function (req, res) { var str = '' ; req.on ('datos', p => {str + = p;}); req.on ('end', () => { resolver (str); res.end (); http.close () ; end = 1; }); }); http.on ('escuchando', función () { var e2 = ''; var args = [];
args.push (`http://127.0.0.1:$ {http.address () .port} /`);
if (a.args) para (var v de a.args) args.push (v);
try { var p = require ('child_process'). spawn (a.path, args); p.stdout.setEncoding ('utf8'); p.stderr.setEncoding ('utf8'); p.stdout.on ('datos', p => console.log (e)); p.stderr.on ('datos', p => {e2 + = p;}); p.on ('cerrar', p => { if (! end) { http.close (); rechazar (e2 || p);
} captura (e) { http.close (); rechazar (e); } }); http.listen (0, '127.0.0.1'); } atrapar (e) {rechazar (e)} }); }
require ('child_process'). exec ('"C: / Archivos de programa (x86) / IIS Express / iisexpress.exe" /config:"E:/Projects/test/.vs/config/applicationhost.config "/ site: "prueba" / apppool: "Clr4IntegratedAppPool" ');
Ver los parámetros de la línea de comandos del proceso: wmic process get caption, commandline / value