Публикации - Node.js

Ядро Node - Дочерние процессы

Node позволяет запустить системную команду в рамках нового дочернего процесса и прослушивать его ввод-вывод. Дочерние процессы, в которых активизируются системные Unix-команды, не работают в Windows и наоборот.

Модуль child-process, входящий в Node.js, позволяет работать с дочерними процессами: порождать их, передавать и получать информацию в асинхронном режиме, управлять работой потока.

Для создания дочерних процессов, можно воспользоваться четырмя различными технологиями, но чаще всего пользуются методом spawn. Он запускает команду в новом процессе, передавая ей необходимо количество параметров.

Например, мы можем выполнить консольную команду dir, которая выведет содержимое текущего каталога:

var cmd = require('child_process').spawn('cmd', ['/c', 'dir\n']);
cmd.stdout.on('data', function(data){
    console.log('stdout: ' + data);
});
cmd.on('exit', function(code){
    console.log('child' + code);
})

Ключ /c, переданный cmd.exe в качестве первого аргумента, заставляет выполнить команду, а затем завершить процесс. Без этого ключа приложение не работает. Ключ /k заставит выполнять приложение и оставаться в этом состоянии, не завершив приложение.

Количество комментариев: 0

Для того, чтобы оставить коментарий необходимо зарегистрироваться