process是Node.js提供的一個對象,它代表當前Node.js進程。通過process對象可以拿到許多有用信息:
> process === global.process;
true
> process.version;
'v5.2.0'
> process.platform;
'darwin'
> process.arch;
'x64'
> process.cwd(); //返回當前工作目錄
'/Users/michael'
> process.chdir('/private/tmp'); // 切換當前工作目錄
undefined
> process.cwd();
'/private/tmp'
JavaScript程序是由事件驅動執行的單線程模型,Node.js也不例外。Node.js不斷執行響應事件的JavaScript函數,直到沒有任何響應事件的函數可以執行時,Node.js就退出了。
如果我們想要在下一次事件響應中執行代碼,可以調用process.nextTick():
// process.nextTick()將在下一輪事件循環中調用:
process.nextTick(function () {
console.log('nextTick callback!');
});
console.log('nextTick was set!');
Node.js進程本身的事件就由process對象來處理。如果我們響應exit事件,就可以在程序即將退出時執行某個回調函數:
// 程序即將退出時的回調函數:
process.on('exit', function (code) {
console.log('about to exit with code: ' + code);
});