>웹 프론트엔드 >JS 튜토리얼 >`child_process`를 사용하여 Node.js에서 명령줄 바이너리를 어떻게 실행할 수 있나요?

`child_process`를 사용하여 Node.js에서 명령줄 바이너리를 어떻게 실행할 수 있나요?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-05 16:55:12721검색

How Can I Execute Command Line Binaries in Node.js Using `child_process`?

Node.js로 명령줄 바이너리 실행

child_process 모듈을 사용하면 Node.js에서 타사 명령줄 바이너리를 간단하게 실행할 수 있습니다.

완전한 출력을 위해 exec 사용

명령을 실행하고 전체 출력을 검색하려면 child_process.exec를 사용하세요.

const { exec } = require('child_process');
exec('prince -v builds/pdf/book.html -o builds/pdf/book.pdf', (err, stdout, stderr) => {
  if (err) return;
  console.log(`stdout: ${stdout}`);
  console.log(`stderr: ${stderr}`);
});

스트림 출력에 생성 사용

스트림으로 프로세스 I/O를 처리하려면 child_process를 사용하세요. 생성:

const { spawn } = require('child_process');
const child = spawn('prince', [
  '-v', 'builds/pdf/book.html',
  '-o', 'builds/pdf/book.pdf'
]);

child.stdout.on('data', (chunk) => {
  // Output chunks are received here
});

execFile 사용 실행 파일

명령 대신 실행 파일을 실행하려면 child_process.execFile을 사용하세요.

const { execFile } = require('child_process');
execFile(file, args, options, (err, stdout, stderr) => {
  // Output is retrieved in stdout
});

동기 기능

동기 기능의 경우 실행 시 Node.js는 이에 대한 동기식 대응물을 제공합니다. 메소드:

  • child_process.execSync
  • child_process.spawnSync
  • child_process.execFileSync

비동기식처럼 ChildProcess 인스턴스를 반환하지 않습니다.

참고: Node.js 버전 0.11.12 이상의 경우 위의 예가 적용됩니다. 이전 버전의 경우 제공된 답변에 포함된 레거시 코드를 참조하세요.

위 내용은 `child_process`를 사용하여 Node.js에서 명령줄 바이너리를 어떻게 실행할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.