머리말
노드가 운영 체제에 대해 많은 추상 작업을 수행하지만 시스템의 기존 프로세스와 상호 작용하고 작업자 하위 프로세스를 만드는 등 노드와 직접 상호 작용할 수 있습니다. 노드는 이벤트 루프를 위한 스레드이지만 이 이벤트 루프 외부에 다른 프로세스(스레드)를 생성하여 작업에 참여할 수 있습니다.
명령줄 도구를 다루지 않는 경우 프로세스 모듈에서 일부 메서드나 속성을 사용할 기회가 거의 없을 수 있습니다. 그러나 webpack이나 gulp와 같은 좀 더 복잡한 빌드 도구를 만들고 싶다면 bash 인터페이스는 사용자와 직접 소통하기 위한 도구이기 때문에 친숙한 입출력과 완전한 프롬프트가 매우 필요합니다.
속성
프로세스가 어떤 속성을 가지고 있는지 테이블을 통해 대략적으로 알 수 있습니다
이렇게 코드에서 직접 사용할 수 있습니다
console.log(porcess.platform) // darwin
argv를 사용하면 명령줄 배열이 반환됩니다. 배열을 사용하여 사용자의 특정 명령을 얻을 수 있습니다.
console.log(process.argv); // [ '/usr/local/bin/node', '/Users/ali-130257n/www/weex-jackzoo/projects/demo.js', '-p', '-v' ]
일반적으로 처음 두 매개변수는 필요하지 않으므로
let args = process.argv.slice(2); console.log(args) // [ '-p', '-v' ]
방법
프로세스는 다양한 방법을 제공합니다. 일반적으로 다음을 사용할 수 있습니다.
cwd: 현재 스크립트가 실행 중인 작업 디렉터리의 경로를 반환합니다.
abort: 프로세스를 즉시 종료합니다.
nextTick: 다음에서 먼저 실행할 작업을 지정합니다. 이벤트 루프
프로세스는 일부 이벤트를 통해 친숙한 프롬프트나 처리를 만들 수 있습니다.
를 캡처합니다. unhandledRejection: 마찬가지로, 약속 오류와 관련되지 않은 거부를 캡처하는 데 사용됩니다. 경고 처리: 현재 프로세스에서 경고가 발생하면 출발합니다.
const unhandledRejections = new Map(); process.on('unhandledRejection', (reason, p) => { unhandledRejections.set(p, reason); }); process.on('rejectionHandled', (p) => { unhandledRejections.delete(p); });
process.on('warning', (warning) => { console.warn(warning.name); // Print the warning name console.warn(warning.message); // Print the warning message console.warn(warning.stack); // Print the stack trace });
이상은 이 글의 전체 내용입니다. 모든 분들의 공부나 업무에 조금이라도 도움이 되었으면 좋겠습니다. 궁금한 점이 있으시면 메시지를 남겨주세요.
Node.js에서 일반적으로 사용되는 프로세스 모듈의 속성 및 메서드와 관련된 더 많은 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!