모듈 기본 모듈

모듈 프로세스

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

참고 방법:

1
var process = require('process');

프로세스 이벤트

프로세스 모듈 개체는 다음과 같습니다.EventEmitter인스턴스는 이벤트 리스너를 등록하여 프로세스 수준 이벤트에 응답할 수 있습니다.

beforeExit 이벤트

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

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

일반적으로 작업 대기열에 추가 작업이 추가되지 않으면 fibjs 프로세스가 종료됩니다. 그러나 beforeExit파이버 시작과 같이 이벤트 바인딩 리스너의 콜백 함수에서 새 작업이 시작되면 fibjs 프로세스가 계속 실행됩니다.

process.exitCodebeforeExit이벤트 리스너의 콜백 함수 에 유일한 매개변수 값으로 전달됩니다 . 직접 호출하는 등 명시적인 사유로 프로세스가 종료되려고 하는 경우process.exit또는 포착되지 않은 예외를 발생시키면 beforeExit이벤트가 트리거되지 않습니다.

이탈 이벤트

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

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

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

신호 이벤트

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

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

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, [초, 나노초] 형식으로 타이밍 시간을 반환합니다.

exit

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

1
static process.exit();

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

1
static process.exit(Integer code);

호출 매개변수:

  • code: 정수, 처리 결과를 반환합니다.

cwd

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

1
static String process.cwd();

결과 반환:

  • String, 현재 시스템 경로를 반환합니다.

dlopen

C++ 애드온을 동적으로 로드

1 2 3
static process.dlopen(Object module, String filename, Integer flags = 1);

호출 매개변수:

  • module: 객체, 로드할 모듈을 지정합니다.
  • filename: 문자열, 로드할 모듈 파일 이름을 지정합니다.
  • flags: 정수, 모듈을 로드하는 방법을 지정합니다. 기본값은 1입니다.

chdir

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

1
static process.chdir(String directory);

호출 매개변수:

  • directory: 문자열, 설정의 새 경로를 지정합니다.

uptime

실행 중인 환경의 실행 시간(초)을 쿼리합니다.

1
static Number process.uptime();

결과 반환:

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

cpuUsage

사용자 및 시스템 코드에서 현재 프로세스에 소요된 시간을 쿼리합니다. 값은 마이크로초 값(백만분의 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: 함수, 광섬유에 의해 실행되는 함수를 지정합니다.
  • args: ..., Fiber 내의 함수에 전달될 가변 인수 시퀀스

binding

지정된 이름을 가진 내부 모듈을 가져옵니다.

1
static Value process.binding(String name);

호출 매개변수:

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

결과 반환:

  • Value, 지정된 내부 모듈을 반환합니다.

getgid

현재 프로세스의 그룹 ID 쿼리

1
static Integer process.getgid();

결과 반환:

  • Integer, 현재 프로세스의 그룹 ID를 반환합니다.

getuid

현재 프로세스의 사용자 ID를 조회합니다.

1
static Integer process.getuid();

결과 반환:

  • Integer, 현재 프로세스의 사용자 ID를 반환합니다.

setgid

현재 프로세스의 그룹 ID를 설정합니다.

1
static process.setgid(Integer id);

호출 매개변수:

  • id: 정수, 설정할 그룹 ID를 지정합니다.

setuid

현재 프로세스의 사용자 ID를 설정합니다.

1
static process.setuid(Integer id);

호출 매개변수:

  • id: 정수, 설정할 사용자 ID를 지정합니다.

emitWarning

사용자 정의 또는 애플리케이션별 프로세스 경고를 발행합니다. 이러한 이벤트는 'warning' 이벤트에 핸들러를 추가하여 들을 수 있습니다.

1 2
static process.emitWarning(Value warning, Object options);

호출 매개변수:

  • warning: 값, 발행될 경고를 지정합니다.
  • options: 객체, 경고를 지정하는 옵션

    옵션에는 다음이 포함됩니다.

1 2 3 4 5
{ "type": "Warning", // specifies the name of the type of warning issued. Default value: 'Warning' "code": "", // specify the unique identifier of the warning instance issued "detail": "" // specify additional text for warnings }

사용 방법:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
const { emitWarning } = require('process'); // Emit a warning with a code and additional detail. emitWarning('Something happened!', { code: 'MY_WARNING', detail: 'This is some additional information', }); process.on('warning', (warning) => { console.warn(warning.name); // 'Warning' console.warn(warning.message); // 'Something happened!' console.warn(warning.code); // 'MY_WARNING' console.warn(warning.stack); // Stack trace console.warn(warning.detail); // 'This is some additional information' });

사용자 정의 또는 애플리케이션별 프로세스 경고를 발행합니다. 이러한 이벤트는 'warning' 이벤트에 핸들러를 추가하여 들을 수 있습니다.

1 2 3
static process.emitWarning(Value warning, String type = "Warning", String code = "");

호출 매개변수:

  • warning: 값, 발행될 경고를 지정합니다.
  • type: 문자열, 발행될 경고 유형의 이름을 지정합니다. 기본값: '경고'
  • code: 문자열, 발행된 경고 인스턴스의 고유 식별자를 지정합니다.

disconnect

상위 프로세스에 대한 ipc 파이프를 닫습니다.

1
static process.disconnect();

send

상위 프로세스에 메시지 보내기

1
static process.send(Value msg);

호출 매개변수:

  • msg: 값, 보낼 메시지를 지정합니다.

정적 속성

argv

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

1
static readonly Array process.argv;

execArgv

Array는 현재 프로세스의 특수 명령줄 매개변수를 반환합니다. 이 매개변수는 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, 현재 프로세스의 표준 입력 개체를 쿼리합니다.tty중웨이TTYInputStream, 그렇지 않으면Stream

1
static readonly Stream process.stdin;

stdout

Stream, 현재 프로세스의 표준 출력 객체를 쿼리합니다.tty중웨이TTYOutputStream, 그렇지 않으면Stream

1
static readonly Stream process.stdout;

stderr

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

1
static readonly Stream process.stderr;

exitCode

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

1
static Integer process.exitCode;

connected

Boolean, 상위 프로세스와의 파이프가 정상적으로 연결되었는지 쿼리

1
static readonly Boolean process.connected;