当前位置: 首页 > wzjs >正文

汕头个人建站模板开发游戏软件公司

汕头个人建站模板,开发游戏软件公司,西安建设商城类网站,北京网站建设公司网站优化资讯理解 Node.js 中的 process 对象与常用操作 在 Node.js 中,process 是一个全局对象,提供了与当前 Node.js 进程相关的信息和操作。无论是获取进程信息、处理信号、访问环境变量,还是控制进程行为,process 都是不可或缺的工具。 看…

理解 Node.js 中的 process 对象与常用操作

在 Node.js 中,process 是一个全局对象,提供了与当前 Node.js 进程相关的信息和操作。无论是获取进程信息、处理信号、访问环境变量,还是控制进程行为,process 都是不可或缺的工具。

看到process不犯怵了


1. 获取进程信息

process 提供了许多属性和方法来获取当前进程的信息。

  • process.pid:获取当前进程的 PID(进程 ID)。
  • process.ppid:获取当前进程的父进程的 PID。
  • process.platform:获取当前操作系统平台,例如 'win32''linux''darwin'(macOS)等。
  • process.arch:获取当前 CPU 架构,例如 'x64''arm' 等。
  • process.uptime() :获取当前进程已经运行的秒数。
console.log(process.pid); // 输出当前进程的 PID
console.log(process.platform); // 输出操作系统平台
console.log(process.uptime()); // 输出进程运行的秒数

2. 访问环境变量

process.env 是一个对象,包含当前进程的环境变量。通过它,你可以访问和设置环境变量。

  • 访问环境变量

    console.log(process.env.NODE_ENV); // 输出 'development' 或 'production'
    
  • 设置环境变量

    process.env.NODE_ENV = 'production';
    

3. 控制进程行为

process 提供了方法来控制进程的行为。

  • process.exit([code]) :强制退出当前进程。可以指定退出码,0 表示正常退出,非零值表示异常退出。

    process.exit(1); // 退出并返回状态码 1
    
  • process.kill(pid[, signal]) :向指定 PID 的进程发送信号。默认信号是 SIGTERM

    process.kill(process.pid, 'SIGTERM'); // 终止当前进程
    

4. 处理信号

process 可以监听操作系统发送的信号,例如 SIGINTSIGTERM 等。

  • SIGINT:用户按下 Ctrl+C 时触发。

    process.on('SIGINT', () => {console.log('Received SIGINT. Exiting...');process.exit(0);
    });
    
  • SIGTERM:系统发送的终止信号,通常用于请求进程优雅退出。

    process.on('SIGTERM', () => {console.log('Received SIGTERM. Exiting...');process.exit(0);
    });
    

5. 标准输入输出

process 提供了标准输入(stdin)、标准输出(stdout)和标准错误(stderr)的流。

  • process.stdout:用于向终端输出信息。

    process.stdout.write('Hello, World!\n');
    
  • process.stdin:用于从终端读取输入。

    process.stdin.on('data', (data) => {console.log(`You typed: ${data.toString().trim()}`);
    });
    
  • process.stderr:用于输出错误信息。

    process.stderr.write('An error occurred!\n');
    

6. 事件处理

process 是一个 EventEmitter,可以监听和处理各种事件。

  • exit:当进程即将退出时触发。

    process.on('exit', (code) => {console.log(`Process is exiting with code ${code}`);
    });
    
  • uncaughtException:当未捕获的异常发生时触发。

    process.on('uncaughtException', (err) => {console.error('Uncaught Exception:', err);process.exit(1); // 强制退出
    });
    
  • unhandledRejection:当未处理的 Promise 拒绝时触发。

    process.on('unhandledRejection', (reason, promise) => {console.error('Unhandled Rejection at:', promise, 'Reason:', reason);
    });
    

7. 命令行参数

process.argv 是一个数组,包含启动 Node.js 进程时传递的命令行参数。

  • 访问命令行参数

    console.log(process.argv); // 输出 ['/path/to/node', '/path/to/app.js', 'arg1', 'arg2']
    
  • 获取用户传递的参数

    const args = process.argv.slice(2);
    console.log(args); // 输出 ['arg1', 'arg2']
    

8. 工作目录

process.cwd() 返回当前进程的工作目录。你可以使用 process.chdir(path) 改变工作目录。

console.log(process.cwd()); // 输出当前工作目录
process.chdir('/new/directory'); // 改变工作目录

9. 内存使用

process.memoryUsage() 返回当前进程的内存使用情况。

const memoryUsage = process.memoryUsage();
console.log(memoryUsage);

输出示例:

{rss: 12345678,      // 常驻内存大小heapTotal: 4567890, // 已分配的堆内存heapUsed: 1234567,  // 已使用的堆内存external: 789012,   // C++ 对象占用的内存arrayBuffers: 12345 // ArrayBuffer 和 SharedArrayBuffer 占用的内存
}

10. 调试信息

process 提供了调试相关的功能。

  • process.debugPort:获取调试端口。

    console.log(process.debugPort);
    
  • process._debugProcess(pid) :调试指定 PID 的进程。

    process._debugProcess(process.pid);
    

总结

妈妈再也不用担心我看不懂了


文章转载自:

http://AsFDU7x3.dwwLg.cn
http://XeiLPs71.dwwLg.cn
http://sgLni2j4.dwwLg.cn
http://s6YgeieR.dwwLg.cn
http://JwiMnxAe.dwwLg.cn
http://QYi1LIRJ.dwwLg.cn
http://mUWXrUI5.dwwLg.cn
http://gVQY7MtB.dwwLg.cn
http://fs5JEUB6.dwwLg.cn
http://GjxcwtfZ.dwwLg.cn
http://MuVpAoOM.dwwLg.cn
http://nFnV2OFv.dwwLg.cn
http://mqEvFGEb.dwwLg.cn
http://0zoEvpX8.dwwLg.cn
http://iQrkXt7g.dwwLg.cn
http://YZ2lFsG7.dwwLg.cn
http://0i3VdhvG.dwwLg.cn
http://ZbFqnJez.dwwLg.cn
http://0Lagtyh0.dwwLg.cn
http://MEHLeoLr.dwwLg.cn
http://NntdpWSk.dwwLg.cn
http://cFFjTr5L.dwwLg.cn
http://STuAwzhz.dwwLg.cn
http://2iQKX4Hg.dwwLg.cn
http://n0jGvK0n.dwwLg.cn
http://c3xEiaxX.dwwLg.cn
http://jMmvuLxr.dwwLg.cn
http://9xdBy3gM.dwwLg.cn
http://VmNNCx5Q.dwwLg.cn
http://HOOhI3Vq.dwwLg.cn
http://www.dtcms.com/wzjs/607769.html

相关文章:

  • 如何确定一个网站的关键词怎么制作自己的免费网站
  • react node.js网站开发wordpress注册弹出框
  • wordpress网站好慢南京网站设计网站建设
  • 地方门户网站源码商务信息网官网
  • 平乡网站制作网站建设教程速成
  • 东营网站设计多少钱免费网站图片素材
  • 福清可以做宣传的网站北京网站设计公司兴田德润怎么样
  • 网站开发培训光山微信电脑版官方下载
  • 怎么用电脑做网站虚拟空间西宁 网站建设
  • 做ppt的模板的网站创业商机
  • 编程入门自学网站中铁建设集团有限公司待遇
  • 本地服务器如何做网站wordpress插件买免费下载
  • 设计案例分享网站大学生做的广告短视频网站
  • 网站备案查询 美橙网最新远程网站建设服务器
  • 如何在行业门户网站上做推广恩施州建设局网站
  • 仿木鱼网络网站全国企业信用信息公开系统
  • 网站建设与管理 试卷wordpress放在二级目录
  • 网站建设与维护 唐清安产品营销策略怎么写
  • 在电脑上做网站的软件wordpress rss 文章
  • 链接关系 网站层次结构企业所得税税负率怎么算的
  • 蚌埠市网站建设建网站要学哪些软件
  • 网站怎样做优惠卷网站建设招标技术要求
  • 网站建设费 项目经费自己建网站做电商还赚钱吗
  • php做购物网站的弊端网站做301跳转的好处
  • dw怎么做网站标题图标深圳方维网站设计公司
  • 网站建设公司教程网站开发专业考啥证书
  • 怎么看网站pr值购物网站导航素材代码
  • 建设一个属于自己网站外网如何访问群晖wordpress
  • 网页设计网站开发需要哪些知识在手机上编程的软件
  • asp网站缺点上海大象影视传媒制作公司