资讯专栏INFORMATION COLUMN

nadejs进程管理小记

dendoink / 850人阅读

摘要:是一个全局内置对象,可以在代码中的任何位置访问此对象,这个对象代表我们的代码宿主的操作系统进程对象。使用对象可以截获进程的异常退出等事件,也可以获取进程的当前目录环境变量内存占用等信息,还可以执行进程退出工作目录切换等操作。

process是一个全局内置对象,可以在代码中的任何位置访问此对象,这个对象代表我们的node.js代码宿主的操作系统进程对象。
使用process对象可以截获进程的异常、退出等事件,也可以获取进程的当前目录、环境变量、内存占用等信息,还可以执行进程退出、工作目录切换等操作。

1.cwd函数的基本用法
当我们想要查看应用程序当前目录时,可以使用cwd函数,使用语法如下:

process.cwd();

2.chdir函数的基本用法
如果需要改变应用程序目录,就要使用chdir函数了,它的用法如下:

process.chdir("目录");

3.stdout的基本用法
stdout是标准输出流,它是干什么的呢?请下看下面的示例:
stderr是标准错误流,和stdout的作用差不多,不同的是它是用来打印错误信息的,我们可以通过它来捕获错误信息,基本使用方法如下:

console.log = function(d){
    process.stdout.write(d+"
");
    }

没错,它的作用就是将内容打印到输出设备上,console.log就是封装了它。

4.stderr的基本用法

process.stderr.write(输入内容);

5.stdin的基本用法
stdin是进程的输入流,我们可以通过注册事件的方式来获取输入的内容,如下:

process.stdin.on("readable", function() {
        var chunk = process.stdin.read();
        if (chunk !== null) {
            process.stdout.write("data: " + chunk);
        }
    });

示例中的chunk就是输入流中的内容。

6.exit函数的基本用法
如果你需要在程序内杀死进程,退出程序,可以使用exit函数,示例如下:

process.exit(code);

参数code为退出后返回的代码,如果省略则默认返回0;
7.注册事件
前面讲到如何在输入流中打印信息,当我们需要获取stdout内容的时候应该怎么做呢?请看如下的示例:

process.stdout.on("data",function(data){
    console.log(data);
});

8.设置编码
在我们的输入输出的内容中有中文的时候,可能会乱码的问题,这是因为编码不同造成的,所以在这种情况下需要为流设置编码,如下示例:

process.stdin.setEncoding(编码);
process.stdout.setEncoding(编码);
process.stderr.setEncoding(编码);

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/92646.html

相关文章

  • 【源起Netty 前传】Linux网络模型小记

    摘要:非阻塞模型这种也很好理解,由阻塞的死等系统响应进化成多次调用查看数据就绪状态。复用模型,以及它的增强版就属于该种模型。此时用户进程阻塞在事件上,数据就绪系统予以通知。信号驱动模型应用进程建立信号处理程序时,是非阻塞的。 引言 之前的两篇文章 FastThreadLocal怎么Fast?、ScheduledThreadPoolExecutor源码解读 搞的我心力交瘁,且读源码过程中深感功...

    Null 评论0 收藏0

发表评论

0条评论

dendoink

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<