Как перенаправить вывод дочернего процесса jsnode в командную строку?

У меня есть приложение appjs, которое создано как графический интерфейс, который позволяет пользователю запускать целую кучу других приложений .exe. Эти другие приложения .exe создаются щелчком мыши с помощью команды spawn (). Некоторые из программ .exe требуют вывода в командной строке, однако основное приложение не использует командную строку.

По сути, я хочу, чтобы мои дочерние процессы передавали свой стандартный вывод в окно командной строки. Окно командной строки раньше не запускалось. Я новичок в jsnode, и у меня проблемы с его работой.

Вот код. Имя приложения передается в функцию, и я создаю строку, а затем порождаю процесс.

var appName = this.getAttribute('app');    
processStr = './' + appName + '.exe';    
var spawn = require('child_process').spawn;    
cmd  = spawn(processStr, [], { cwd: './', env: process.env} );

Обратите внимание: даже если я изменю его на значение ниже, я не смогу отобразить окно командной строки.

 cmd  = spawn('c:/windows/system32/cmd.exe', [], { cwd: './', env: process.env} );

person user2762094    schedule 10.09.2013    source источник


Ответы (1)


person    schedule
comment
Спасибо за ответ. Я думаю, это поможет мне перенаправить дочерний вывод на стандартный вывод, но, насколько я знаю, для родительского процесса нет активного стандартного вывода (вот почему я хочу создать новый cmd.exe для вывода). Моя самая большая проблема может заключаться в том, что окно cmd.exe на самом деле не отображается. Даже если я попытаюсь явно создать экземпляр cmd.exe. - person user2762094; 10.09.2013
comment
@ user2762094, что вы имеете в виду под активным стандартным выводом? - person Maksim Morozov; 10.09.2013
comment
Как я уже сказал, я новичок в jsnode, поэтому извините, если моя терминология сбивает с толку. Вчера я читал это решение (stackoverflow.com/questions/1528152/), в частности, РЕДАКТИРОВАТЬ 2 в этой ссылке. Когда я запускаю свой родительский исполняемый файл из командной строки, он немедленно возвращается, поэтому, если указанная выше ссылка верна, я считаю, что для stdin / stdout установлено значение NULL в родительском элементе. - person user2762094; 10.09.2013