모듈 기본 모듈

모듈 프로세스

현재 프로세스의 자원을 관리하는 프로세스 처리 모듈

참조 방법:

1
var process = require('process');

프로세스 이벤트

프로세스 모듈 객체는 EventEmitter 예를 들어 이벤트 리스너를 등록하여 프로세스 수준 이벤트에 응답할 수 있습니다.

beforeExit 이벤트

fibjs 미션이 비어 있고 추가 작업이 추가되지 않으면 이벤트 beforeExit가 트리거됩니다.

1
process.on('beforeExit', exitCode => {});

정상적인 상황에서 작업 대기열에 추가 작업이 없으면 fibjs 프로세스가 종료됩니다. 그러나 beforeExit콜백 수신기 이벤트 바인딩이 광섬유 열기와 같은 새 작업을 시작하면 fibjs 프로세스가 계속 실행됩니다.

process.exitCodebeforeExit콜백 함수 이벤트 리스너 의 값에 전달되는 유일한 매개변수 입니다. 직접 호출하는 등 명백한 사유로 프로세스가 종료되려고 하는 경우process.exit또는 잡히지 않는 예외를 throw하면 beforeExit이벤트가 트리거되지 않습니다.

종료 이벤트

fibjs가 종료 exit되면 모든 exit이벤트 바인딩 리스너 실행이 완료되면 이벤트 가 트리거 되고 프로세스가 종료됩니다.

1
process.on('exit', exitCode => {});

exit 이벤트 리스너의 콜백 함수에는 입력 매개변수가 하나만 있습니다. 이 매개변수의 값은 다음과 같습니다. process.exitCode 속성 값 또는 호출 process.exit메서드가 exitCode값을 전달했을 때 .

신호 이벤트

fibjs 프로세스가 신호를 받으면 신호 이벤트를 트리거합니다.현재 지원되는 신호는 SIGINT 및 SIGTERM입니다. 각 이벤트 이름은 신호 이름의 대문자로 표시됩니다(예: 이벤트 'SIGINT'는 신호 SIGINT에 해당).

신호 이벤트는 다른 프로세스 이벤트와 다릅니다. 신호 이벤트는 선점됩니다. 신호가 발생하면 전류에 관계없이 io작업 또는 JavaScript 작업은 가능한 한 빨리 해당 이벤트를 트리거합니다. 예를 들어 다음 코드를 사용하여 현재 응용 프로그램을 중단하고 실행 상태를 출력할 수 있습니다.

1 2 3 4 5 6
var 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는 이 방법을 지원하지 않습니다.

1
static Integer process.umask(Integer mask);

호출 매개변수:

  • mask: 정수, 새 마스크 지정

반환 결과:

  • Integer, 이전 마스크로 돌아가기

현재 umask를 변경하십시오. Windows는 이 방법을 지원하지 않습니다.

1
static Integer process.umask(String mask);

호출 매개변수:

  • mask: 문자열, 새 마스크 지정, 문자열 유형 8진수(예: "0664")

반환 결과:

  • Integer, 이전 마스크로 돌아가기

현재 umask를 반환합니다. Windows는 이 방법을 지원하지 않습니다.

1
static Integer process.umask();

반환 결과:

  • Integer, 현재 마스크 값을 반환합니다.

hrtime

시스템의 고정밀 시간을 반환합니다.이 시간은 현재 시간과 관련이 없으며 고정밀 타이밍에만 사용됩니다.

1
static Array process.hrtime(Array diff = []);

호출 매개변수:

  • diff: Array, 비교를 위한 초기 시간

반환 결과:

  • Array, 타이밍 시간을 반환합니다. 형식은 [초, 나노초]입니다.

exit

현재 프로세스를 종료하고 프로세스 결과로 exitCode를 반환합니다.

1
static process.exit();

현재 프로세스를 종료하고 결과를 반환합니다.

1
static process.exit(Integer code);

호출 매개변수:

  • code: 정수, 처리 결과 반환

cwd

운영 체제의 현재 작업 경로를 반환합니다.

1
static String process.cwd();

반환 결과:

  • String, 현재 시스템 경로를 반환

chdir

운영 체제의 현재 작업 경로 수정

1
static process.chdir(String directory);

호출 매개변수:

  • directory: 문자열, 설정할 새 경로 지정

uptime

실행 중인 환경의 실행 시간을 초 단위로 쿼리

1
static Number process.uptime();

반환 결과:

  • Number, 시간을 나타내는 값을 반환합니다.

cpuUsage

마이크로초 값(100만분의 1초)인 사용자 및 시스템 코드에서 현재 프로세스가 소비한 시간을 쿼리합니다.

1
static Object process.cpuUsage(Object previousValue = {});

호출 매개변수:

  • previousValue: 개체, 마지막 쿼리 시간 지정

반환 결과:

  • Object, 시간이 포함된 보고서 반환

메모리 보고서는 다음과 유사한 결과를 생성합니다.

1 2 3 4
{ "user": 132379, "system": 50507 }

에:

  • 사용자는 사용자 코드에서 프로세스가 보낸 시간을 반환합니다.
  • 시스템은 프로세스가 시스템 코드에서 보낸 시간을 반환합니다.

memoryUsage

현재 프로세스의 메모리 사용량 보고서 쿼리

1
static Object process.memoryUsage();

반환 결과:

  • Object, 반환에는 메모리 보고서가 포함됩니다.

메모리 보고서는 다음과 유사한 결과를 생성합니다.

1 2 3 4 5
{ "rss": 8622080, "heapTotal": 4083456, "heapUsed": 1621800 }

에:

  • rss는 프로세스가 현재 점유하고 있는 물리적 메모리의 크기를 반환합니다.
  • heapTotal은 v8 엔진 힙 메모리 크기를 반환합니다.
  • heapUsed는 v8 엔진에서 사용 중인 힙 메모리의 크기를 반환합니다.

nextTick

섬유 시작

1 2
static process.nextTick(Function func, ...args);

호출 매개변수:

  • func: Function, Fiber에서 실행할 기능 지정
  • args: ..., 가변 매개변수 시퀀스, 이 시퀀스는 파이버의 기능에 전달됩니다.

binding

지정된 이름의 내부 모듈 가져오기

1
static Value process.binding(String name);

호출 매개변수:

  • name: 문자열, 쿼리할 내부 모듈의 이름을 지정합니다.

반환 결과:

  • Value, 지정된 내부 모듈을 반환

정적 속성

argv

배열, 현재 프로세스의 명령줄 매개변수를 반환합니다.

1
static readonly Array process.argv;

execArgv

배열, 현재 프로세스의 특수 명령줄 매개변수를 반환합니다. 이러한 매개변수는 fibjs에서 운영 환경을 설정하는 데 사용됩니다.

1
static readonly Array process.execArgv;

version

문자열, fibjs 버전 문자열 반환

1
static readonly String process.version;

versions

개체, fibjs 및 구성 요소의 버전 정보 반환

1
static readonly Object process.versions;

execPath

문자열, 현재 실행 중인 실행 파일의 전체 경로 쿼리

1
static readonly String process.execPath;

env

개체, 현재 프로세스의 환경 변수 쿼리

1
static readonly Object process.env;

arch

문자열, 현재 CPU 환경 쿼리, 가능한 결과는 'amd64','arm','arm64','ia32'입니다.

1
static readonly String process.arch;

platform

문자열, 현재 플랫폼 이름 쿼리, 가능한 결과는 'darwin', 'freebsd', 'linux' 또는 'win32'입니다.

1
static readonly String process.platform;

pid

정수, 현재 객체가 가리키는 프로세스의 ID를 읽습니다.

1
static readonly Integer process.pid;

ppid

정수, 현재 개체가 가리키는 부모 프로세스의 ID를 읽습니다.

1
static readonly Integer process.ppid;

stdin

Stream, 현재 프로세스의 표준 입력 개체를 쿼리합니다. ttyTTYInputStream, 그렇지 않으면 Stream

1
static readonly Stream process.stdin;

stdout

Stream, 현재 프로세스의 표준 출력 개체를 쿼리합니다. ttyTTYOutputStream, 그렇지 않으면 Stream

1
static readonly Stream process.stdout;

stderr

Stream, 현재 프로세스의 표준 오류 출력 개체를 쿼리합니다. ttyTTYOutputStream, 그렇지 않으면 Stream

1
static readonly Stream process.stderr;

exitCode

정수, 현재 프로세스의 종료 코드 쿼리 및 설정

1
static Integer process.exitCode;