programing

Node.js 내에서 외부 프로그램을 실행하는 방법?

codeshow 2023. 10. 19. 22:54
반응형

Node.js 내에서 외부 프로그램을 실행하는 방법?

node.js 내에서 외부 프로그램을 실행할 수 있습니까?파이썬과 동등한 것이 있습니까?os.system()또는 이 기능을 추가한 라이브러리가 있습니까?

var exec = require('child_process').exec;
exec('pwd', function callback(error, stdout, stderr) {
  // result
});

exec에는 버퍼 크기가 512k인 메모리 제한이 있습니다.이 경우 스폰을 사용하는 것이 좋습니다.스폰을 사용하면 실행 시간에 stdout 명령에 액세스할 수 있습니다.

var spawn = require('child_process').spawn;
var prc = spawn('java',  ['-jar', '-Xmx512M', '-Dfile.encoding=utf8', 'script/importlistings.jar']);

//noinspection JSUnresolvedFunction
prc.stdout.setEncoding('utf8');
prc.stdout.on('data', function (data) {
    var str = data.toString()
    var lines = str.split(/(\r?\n)/g);
    console.log(lines.join(""));
});

prc.on('close', function (code) {
    console.log('process exit code ' + code);
});

가장 간단한 방법은 다음과 같습니다.

const { exec } = require("child_process")
exec('yourApp').unref()

unref는 "당신의 앱"을 기다리지 않고 당신의 프로세스를 끝내는데 필요합니다.

여기 이그제큐티브 문서가 있습니다.

Node.js 설명서에서:

노드는 ChildProcess 클래스를 통해 3방향 popen(3) 기능을 제공합니다.

http://nodejs.org/docs/v0.4.6/api/child_processes.html 참조

유틸리티와 함께 가져오기 문을 사용하면 다음을 약속할 수 있습니다.

import { exec } from 'child_process';
import utils from 'util';

const execute = utils.promisify(exec);
console.log(await execute('pwd'));

언급URL : https://stackoverflow.com/questions/5775088/how-to-execute-an-external-program-from-within-node-js

반응형