process

    process 也是Node.js提供的一个对象,它代表当前Node.js进程。通过 process 对象可以拿到许多有用信息:

    > process === global.process;

    true

    > process.version;

    'v5.2.0'

    > process.platform;

    'darwin'

    > process.arch;

    'x64'

    > process.cwd(); //返回当前工作目录

    'Usersmichael'

    > process.chdir('privatetmp'); // 切换当前工作目录

    undefined

    > process.cwd();

    'privatetmp'

    JavaScript程序是由事件驱动执行的单线程模型,Node.js也不例外。Node.js不断执行响应事件的JavaScript函数,直到没有任何响应事件的函数可以执行时,Node.js就退出了。

    如果我们想要在下一次事件响应中执行代码,可以调用 process.nextTick()

    // test.js



    // process.nextTick()将在下一轮事件循环中调用:

    process.nextTick(function () {

    console.log('nextTick callback!');

    });

    console.log('nextTick was set!');

    用Node执行上面的代码 node test.js ,你会看到,打印输出是:

    nextTick was set!

    nextTick callback!

    这说明传入 process.nextTick() 的函数不是立刻执行,而是要等到下一次事件循环。

    Node.js进程本身的事件就由 process 对象来处理。如果我们响应 exit 事件,就可以在程序即将退出时执行某个回调函数:

    // 程序即将退出时的回调函数:

    process.on('exit', function (code) {

    console.log('about to exit with code: ' + code);

    });