관련 권장사항: "node js tutorial"
프로세스 객체는 전역 변수이자 현재 Node.js 프로세스의 정보와 작업 방법을 제공하는 EventEmitter 인스턴스입니다
프로세스 object 주요 시스템 정보를 반환하기 위한 속성을 제공합니다.
Node.js 및 표준 입출력 장치 상호작용 객체도 프로세스 객체를 통해 제공됩니다
process.stdin.pipe(process.stdout)
간단한 코드 한줄로 콘솔 입력 내용을 그대로 콘솔에 출력할 수 있습니다
process.execPath 속성은 현재 스크립트를 실행하는 Node 바이너리 파일의 절대 경로를 반환합니다.
process.argv 속성은 배열을 반환합니다. 는 스크립트 실행 시 매개변수인데 배열의 처음 두 개는 고정되어 있습니다
현재 스크립트를 실행하는 Node 바이너리 파일의 절대 경로
현재 실행 파일의 절대 경로
process.js
process.js
console.log(process.argv);
node process.js a --b=2 [ '/usr/local/bin/node', '/Users/undefined/node-demo/process.js', 'a', '--b=2' ]
process.execArgv 属性返回一个数组,成员是命令行下执行脚本时,在 Node 可执行文件与脚本文件之间的命令行参数process.js
console.log(process.execArgv);
node --inspect process.js [ '--inspect' ]
process 对象是 EventEmitter 对象实例,可以监听一些系统核心事件, 常使用的有
当 Node.js 进程因以下原因之一即将退出时,则会触发 exit
事件:
process.exit()
方法此时无法阻止退出事件循环,并且一旦所有 exit
事件的监听器都已完成运行时,Node.js 进程将终止
process.on('exit', (code) => { console.log(`退出码: ${code}`); });
当前进程抛出一个没有被捕捉的错误时,会触发uncaughtException
事件
process.on('uncaughtException', function (err) { console.error(err.stack); });
当 Node.js 清空其事件循环并且没有其他工作要安排时,会触发 beforeExit
事件。 通常 Node.js 进程将在没有调度工作时退出,但是在 beforeExit
事件上注册的监听器可以进行异步调用使 Node.js 进程继续
process.on('beforeExit', (code) => { console.log('进程 beforeExit 事件的代码: ', code); }); process.on('exit', (code) => { console.log('进程 exit 事件的代码: ', code); }); console.log('此消息最新显示'); // 打印: // 此消息最新显示 // 进程 beforeExit 事件的代码: 0 // 进程 exit 事件的代码: 0
如果使用 IPC 通道 fork Node.js 进程,子进程收到父进程使用 childprocess.send()
发送的消息,就会触发 message
process.on('message', (m) => { console.log('子进程收到消息', m); });
process.js
process.chdir(): 작업 디렉터리를 지정된 디렉터리로 전환합니다. 디렉토리
🎜process.cwd(): 현재 스크립트가 실행 중인 작업 디렉토리(node 명령이 실행될 때의 디렉토리)의 경로를 반환합니다.🎜🎜process .exit(): 현재 프로세스를 종료합니다🎜🎜process.memoryUsage (): Node.js 프로세스의 메모리 사용량을 반환합니다🎜🎜🎜exit
이벤트가 트리거됩니다. 🎜 🎜🎜명시적으로 process.exit()
메서드 호출 🎜🎜Node.js 이벤트 루프는 더 이상 추가 작업을 수행할 필요가 없습니다. 🎜🎜🎜현재로서는 이벤트 루프 종료를 방지할 수 있는 방법이 없습니다. all exit
이벤트 리스너의 실행이 모두 완료되면 Node.js 프로세스가 종료됩니다🎜rrreee uncaughtException
이벤트 🎜rrreee beforeExit
이벤트는 Node.js가 이벤트 루프를 지우고 더 이상 예약할 작업이 없을 때 트리거됩니다. . 일반적으로 Node.js 프로세스는 예정된 작업이 없으면 종료되지만 beforeExit
이벤트에 등록된 리스너는 Node.js 프로세스가 계속 진행되도록 비동기 호출을 할 수 있습니다🎜rrreeechildprocess.send()
를 사용하여 상위 프로세스가 보낸 메시지를 받으면 message
이벤트가 실행됩니다🎜rrreee🎜 process.nextTick(callback)🎜🎜process.nextTick() 메소드는 다음 시점에 실행되도록 콜백을 대기열에 추가합니다🎜🎜더 많은 프로그래밍 관련 지식을 원하시면, 방문해주세요: 🎜프로그래밍 비디오 코스🎜! ! 🎜위 내용은 Node.js의 프로세스 객체 이해의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!