Node.js는 웹 애플리케이션 및 명령줄 도구 개발에 널리 사용되는 확장성이 뛰어난 오픈 소스 JavaScript 플랫폼입니다. Node.js에서는 하위 프로세스 API를 사용하여 운영 체제의 명령줄에 액세스하고 시스템 명령을 실행할 수 있습니다. 이 기사에서는 하위 프로세스 API를 사용하여 Node.js에서 명령줄을 호출하는 방법을 소개합니다.
Node.js는 Node.js 프로그램에서 하위 프로세스를 생성하고 상호 작용할 수 있는 child_process 모듈을 제공합니다. 이 모듈을 통해 명령줄을 호출할 수 있습니다.
child_process 모듈에서 가장 일반적으로 사용되는 두 가지 API는 generate와 exec입니다. generate는 명령줄을 실행하기 위해 하위 프로세스를 시작하고 프로세스와 상호 작용할 수 있는 개체를 반환합니다. exec는 명령줄을 실행하고 stdout 및 stderr을 반환하는 비동기 함수입니다.
spawn 메서드는 명령줄을 실행하기 위해 새 프로세스를 시작하는 데 사용됩니다. 이 메서드는 실행할 명령과 매개변수 배열이라는 두 가지 매개변수를 받습니다.
예:
const { spawn } = require('child_process'); const ls = spawn('ls', ['-lh', '/usr']); ls.stdout.on('data', (data) => { console.log(`stdout: ${data}`); }); ls.stderr.on('data', (data) => { console.error(`stderr: ${data}`); }); ls.on('close', (code) => { console.log(`子进程退出码:${code}`); });
여기서는 스폰 메소드를 사용하여 "ls -lh /usr" 명령을 실행했습니다. 이 메서드는 stdin, stdout 및 stderr 속성을 사용하여 하위 프로세스와 상호 작용할 수 있는 ChildProcess 개체를 반환합니다. 이 예에서는 하위 프로세스가 출력하는 데이터 및 오류 정보를 캡처하기 위해 하위 프로세스의 stdout 및 stderr 이벤트를 수신합니다. 자식 프로세스가 종료되면 닫기 이벤트도 수신합니다.
exec 메소드를 사용하면 명령줄을 실행하고 명령줄의 stdout 및 stderr 출력을 반환할 수 있습니다. 이 메소드는 실행될 명령과 stdout, stderr 및 오류 객체의 세 가지 매개변수를 취하는 콜백 함수라는 두 개의 매개변수를 받아들입니다.
예:
const { exec } = require('child_process'); exec('ls', (err, stdout, stderr) => { if (err) { console.error(err); return; } console.log(`stdout: ${stdout}`); console.error(`stderr: ${stderr}`); });
여기서는 exec 메소드를 사용하여 "ls" 명령을 실행했습니다. 콜백 함수에서는 stdout 및 stderr 출력과 발생할 수 있는 모든 오류를 캡처합니다.
명령줄을 호출하여 명령을 실행하는 것 외에도 Node.js 프로그램의 명령줄과 상호작용할 수도 있습니다. generate 및 exec 메소드 모두에서 자식 프로세스에 입력을 보낼 수 있는 stdin 속성이 제공됩니다.
예를 들어 Windows에서 Node.js 프로그램을 시작하고 명령줄에 run 명령을 입력합니다.
const { spawn } = require('child_process'); const node = spawn('node'); node.stdin.write('console.log("Hello, world!");\n'); node.stdin.write('process.exit();\n');
여기에서는 generate 메서드를 사용하여 새 Node.js 프로세스를 시작하고 stdin 속성을 통해 JavaScript 프로그램을 전달합니다. 프로세스로 전송됩니다. 프로그램은 "Hello, world!"를 인쇄하고 종료됩니다.
이 문서에서는 하위 프로세스 API를 사용하여 Node.js에서 명령줄을 호출하는 방법을 설명합니다. 우리는 generate 및 exec 메서드의 사용법을 배웠고 명령줄과 상호 작용하는 방법을 배웠습니다. 하위 프로세스 API를 사용하면 Node.js에서 명령줄을 쉽게 실행할 수 있어 Node.js의 애플리케이션 시나리오가 더욱 풍부해집니다.
위 내용은 nodejs에서 명령줄을 호출하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!