모듈 프로세스
현재 프로세스의 자원을 관리하는 프로세스 처리 모듈
참조 방법:
1var process = require('process');
프로세스 이벤트
프로세스 모듈 객체는 EventEmitter 예를 들어 이벤트 리스너를 등록하여 프로세스 수준 이벤트에 응답할 수 있습니다.
beforeExit 이벤트
fibjs 미션이 비어 있고 추가 작업이 추가되지 않으면 이벤트 beforeExit
가 트리거됩니다.
1process.on('beforeExit', exitCode => {});
정상적인 상황에서 작업 대기열에 추가 작업이 없으면 fibjs 프로세스가 종료됩니다. 그러나 beforeExit
콜백 수신기 이벤트 바인딩이 광섬유 열기와 같은 새 작업을 시작하면 fibjs 프로세스가 계속 실행됩니다.
process.exitCodebeforeExit
콜백 함수 이벤트 리스너 의 값에 전달되는 유일한 매개변수 입니다. 직접 호출하는 등 명백한 사유로 프로세스가 종료되려고 하는 경우process.exit또는 잡히지 않는 예외를 throw하면 beforeExit
이벤트가 트리거되지 않습니다.
종료 이벤트
fibjs가 종료 exit
되면 모든 exit
이벤트 바인딩 리스너 실행이 완료되면 이벤트 가 트리거 되고 프로세스가 종료됩니다.
1process.on('exit', exitCode => {});
exit
이벤트 리스너의 콜백 함수에는 입력 매개변수가 하나만 있습니다. 이 매개변수의 값은 다음과 같습니다. process.exitCode 속성 값 또는 호출 process.exit메서드가 exitCode
값을 전달했을 때 .
신호 이벤트
fibjs 프로세스가 신호를 받으면 신호 이벤트를 트리거합니다.현재 지원되는 신호는 SIGINT 및 SIGTERM입니다. 각 이벤트 이름은 신호 이름의 대문자로 표시됩니다(예: 이벤트 'SIGINT'는 신호 SIGINT에 해당).
신호 이벤트는 다른 프로세스 이벤트와 다릅니다. 신호 이벤트는 선점됩니다. 신호가 발생하면 전류에 관계없이 io작업 또는 JavaScript 작업은 가능한 한 빨리 해당 이벤트를 트리거합니다. 예를 들어 다음 코드를 사용하여 현재 응용 프로그램을 중단하고 실행 상태를 출력할 수 있습니다.
1
2
3
4
5
6var coroutine = require('coroutine');
process.on('SIGINT', () => {
coroutine.fibers.forEach(f => console.error("Fiber %d:\n%s", f.id, f.stack));
process.exit();
});
신호 이름과 의미는 다음과 같습니다.
- SIGINT: 터미널이 실행 중일 때 모든 플랫폼에서 지원할 수 있으며 일반적으로 CTRL+C로 트리거할 수 있습니다.
- SIGTERM: 이 신호는 프로세스가 종료될 때 트리거됩니다. Windows에서는 지원되지 않습니다.
정적 함수
umask
현재 umask를 변경하십시오. Windows는 이 방법을 지원하지 않습니다.
1static Integer process.umask(Integer mask);
호출 매개변수:
- mask: 정수, 새 마스크 지정
반환 결과:
- Integer, 이전 마스크로 돌아가기
현재 umask를 변경하십시오. Windows는 이 방법을 지원하지 않습니다.
1static Integer process.umask(String mask);
호출 매개변수:
- mask: 문자열, 새 마스크 지정, 문자열 유형 8진수(예: "0664")
반환 결과:
- Integer, 이전 마스크로 돌아가기
현재 umask를 반환합니다. Windows는 이 방법을 지원하지 않습니다.
1static Integer process.umask();
반환 결과:
- Integer, 현재 마스크 값을 반환합니다.
hrtime
시스템의 고정밀 시간을 반환합니다.이 시간은 현재 시간과 관련이 없으며 고정밀 타이밍에만 사용됩니다.
1static Array process.hrtime(Array diff = []);
호출 매개변수:
- diff: Array, 비교를 위한 초기 시간
반환 결과:
- Array, 타이밍 시간을 반환합니다. 형식은 [초, 나노초]입니다.
exit
현재 프로세스를 종료하고 프로세스 결과로 exitCode를 반환합니다.
1static process.exit();
현재 프로세스를 종료하고 결과를 반환합니다.
1static process.exit(Integer code);
호출 매개변수:
- code: 정수, 처리 결과 반환
cwd
운영 체제의 현재 작업 경로를 반환합니다.
1static String process.cwd();
반환 결과:
- String, 현재 시스템 경로를 반환
chdir
운영 체제의 현재 작업 경로 수정
1static process.chdir(String directory);
호출 매개변수:
- directory: 문자열, 설정할 새 경로 지정
uptime
실행 중인 환경의 실행 시간을 초 단위로 쿼리
1static Number process.uptime();
반환 결과:
- Number, 시간을 나타내는 값을 반환합니다.
cpuUsage
마이크로초 값(100만분의 1초)인 사용자 및 시스템 코드에서 현재 프로세스가 소비한 시간을 쿼리합니다.
1static Object process.cpuUsage(Object previousValue = {});
호출 매개변수:
- previousValue: 개체, 마지막 쿼리 시간 지정
반환 결과:
- Object, 시간이 포함된 보고서 반환
메모리 보고서는 다음과 유사한 결과를 생성합니다.
1
2
3
4{
"user": 132379,
"system": 50507
}
에:
- 사용자는 사용자 코드에서 프로세스가 보낸 시간을 반환합니다.
- 시스템은 프로세스가 시스템 코드에서 보낸 시간을 반환합니다.
memoryUsage
현재 프로세스의 메모리 사용량 보고서 쿼리
1static Object process.memoryUsage();
반환 결과:
- Object, 반환에는 메모리 보고서가 포함됩니다.
메모리 보고서는 다음과 유사한 결과를 생성합니다.
1
2
3
4
5{
"rss": 8622080,
"heapTotal": 4083456,
"heapUsed": 1621800
}
에:
- rss는 프로세스가 현재 점유하고 있는 물리적 메모리의 크기를 반환합니다.
- heapTotal은 v8 엔진 힙 메모리 크기를 반환합니다.
- heapUsed는 v8 엔진에서 사용 중인 힙 메모리의 크기를 반환합니다.
nextTick
섬유 시작
1
2static process.nextTick(Function func,
...args);
호출 매개변수:
- func: Function, Fiber에서 실행할 기능 지정
- args: ..., 가변 매개변수 시퀀스, 이 시퀀스는 파이버의 기능에 전달됩니다.
binding
지정된 이름의 내부 모듈 가져오기
1static Value process.binding(String name);
호출 매개변수:
- name: 문자열, 쿼리할 내부 모듈의 이름을 지정합니다.
반환 결과:
- Value, 지정된 내부 모듈을 반환
정적 속성
argv
배열, 현재 프로세스의 명령줄 매개변수를 반환합니다.
1static readonly Array process.argv;
execArgv
배열, 현재 프로세스의 특수 명령줄 매개변수를 반환합니다. 이러한 매개변수는 fibjs에서 운영 환경을 설정하는 데 사용됩니다.
1static readonly Array process.execArgv;
version
문자열, fibjs 버전 문자열 반환
1static readonly String process.version;
versions
개체, fibjs 및 구성 요소의 버전 정보 반환
1static readonly Object process.versions;
execPath
문자열, 현재 실행 중인 실행 파일의 전체 경로 쿼리
1static readonly String process.execPath;
env
개체, 현재 프로세스의 환경 변수 쿼리
1static readonly Object process.env;
arch
문자열, 현재 CPU 환경 쿼리, 가능한 결과는 'amd64','arm','arm64','ia32'입니다.
1static readonly String process.arch;
platform
문자열, 현재 플랫폼 이름 쿼리, 가능한 결과는 'darwin', 'freebsd', 'linux' 또는 'win32'입니다.
1static readonly String process.platform;
pid
정수, 현재 객체가 가리키는 프로세스의 ID를 읽습니다.
1static readonly Integer process.pid;
ppid
정수, 현재 개체가 가리키는 부모 프로세스의 ID를 읽습니다.
1static readonly Integer process.ppid;
stdin
Stream, 현재 프로세스의 표준 입력 개체를 쿼리합니다. tty 에 TTYInputStream, 그렇지 않으면 Stream
1static readonly Stream process.stdin;
stdout
Stream, 현재 프로세스의 표준 출력 개체를 쿼리합니다. tty 에 TTYOutputStream, 그렇지 않으면 Stream
1static readonly Stream process.stdout;
stderr
Stream, 현재 프로세스의 표준 오류 출력 개체를 쿼리합니다. tty 에 TTYOutputStream, 그렇지 않으면 Stream
1static readonly Stream process.stderr;
exitCode
정수, 현재 프로세스의 종료 코드 쿼리 및 설정
1static Integer process.exitCode;