NodeJS 하위 프로세스 소개 NodeJS 하위 프로세스는 시스템과 상호 작용하기 위한 중요한 인터페이스를 제공합니다. 기본 API는 표준 입력, 표준 출력 및 표준 오류 출력을 위한 인터페이스입니다.
NodeJS 하위 프로세스 소개
NodeJS 하위 프로세스는 시스템과 상호작용하는 데 중요한 인터페이스를 제공합니다. 주요 API는 다음과 같습니다.
표준 입력, 표준 출력. 및 표준 오류 출력 인터페이스
child.stdin 표준 입력 가져오기
child.stdout 표준 출력 가져오기
child.stderr 표준 오류 출력 가져오기
하위 프로세스의 PID 가져오기: child.pid
자식 프로세스 생성을 위한 중요한 메서드 제공: child_process.spawn(cmd, args=[], [options])
시스템 명령을 직접 실행하는 중요한 메서드 제공: child_process.exec(cmd, [options], callback)
프로세스를 종료하기 위해 제공된 방법: child.kill(signal='SIGTERM')
예 1: 하위 프로세스를 사용하여 시스템 메모리 사용량 얻기
다음을 저장합니다. free.js로 코드를 작성하세요:
var generate = require( 'child_process').spawn,
free = generate('free', ['-m'])
// 표준 출력을 캡처하여 콘솔에 인쇄합니다.
free.stdout .on('data', function (data) {
console.log('표준 출력:
' data);
});
// 표준 오류 출력을 캡처하여 콘솔에 인쇄합니다.
free.stderr.on('data', function (data) {
콘솔 .log('표준 오류 출력:
' data);
});
//하위 프로세스 종료 이벤트 등록
free.on('exit', function (code, signal) {
console.log('child 프로세스가 종료되었습니다. 코드: ' code);
});
코드 실행 후 결과:
$ node free.js
Stdout :
캐시된 총 사용 가능한 공유 버퍼
Mem: 3949 1974 1974 0 135 959
-/ buffers/cache: 879 3070
Swap: 3905 0 3905
하위 프로세스에 종료됨, 코드: 0
위 출력은 명령줄에서 free -m 명령을 실행하는 것과 동일합니다.
이 간단한 예를 통해 우리는 이미 하위 프로세스의 사용을 이해했습니다. 다음은 exec 사용을 보여주는 또 다른 예입니다.
예 2: 하위 프로세스를 사용하여 시스템 로그인 시간 계산
다음 코드를 last.js로 저장
var exec = require('child_process').exec,
last = exec( 'last | wc -l');
last.stdout.on('data', function (data) {
console.log('Stdout:' data);
});
last.on('exit', function (code) {
console.log('하위 프로세스가 닫혔습니다. 코드: ' code);
}); 🎜>
실행 코드:
$ node last.js
표준 출력: 203
하위 프로세스가 닫혔습니다. 코드: 0
과 동일합니다. 명령줄에 직접 입력: last | wc - l의 결과는 동일합니다.