命令执行

SysProc

System

内置的process对象

process对象是Node的一个全局对象,提供当前Node进程的信息。它可以在脚本的任意位置使用,不必通过require命令加载。该对象部署了EventEmitter接口。进程退出时,会返回一个整数值,表示退出时的状态。这个整数值就叫做退出码。下面是常见的Node进程退出码。

  • 0,正常退出
  • 1,发生未捕获错误
  • 5,V8执行错误
  • 8,不正确的参数
  • 128 +信号值,如果Node接受到退出信号(比如SIGKILLSIGHUP),它的退出码就是128加上信号值。由于128的二进制形式是10000000,所以退出码的后七位就是信号值。

process对象提供一系列属性,用于返回系统信息。

  • process.argv:返回当前进程的命令行参数数组。
  • process.env:返回一个对象,成员为当前Shell的环境变量,比如process.env.HOME
  • process.installPrefixnode的安装路径的前缀,比如/usr/local,则node的执行文件目录为/usr/local/bin/node
  • process.pid:当前进程的进程号。
  • process.platform:当前系统平台,比如Linux
  • process.title:默认值为“node”,可以自定义该值。
  • process.versionNode的版本,比如v0.10.18

process对象提供以下方法:

  • process.chdir():切换工作目录到指定目录。
  • process.cwd():返回运行当前脚本的工作目录的路径。
  • process.exit():退出当前进程。
  • process.getgid():返回当前进程的组ID(数值)
  • process.getuid():返回当前进程的用户ID(数值)
  • process.nextTick():指定回调函数在当前执行栈的尾部、下一次Event Loop之前执行。
  • process.on():监听事件。
  • process.setgid():指定当前进程的组,可以使用数字ID,也可以使用字符串ID
  • process.setuid():指定当前进程的用户,可以使用数字ID,也可以使用字符串ID

Shell Commands(系统命令执行)

Windows

var theJobType = 'FOO';
var exec = require('child_process').exec;
var child = exec('Test.exe ' + theJobType, function( error, stdout, stderr)
   {
       if ( error != null ) {
            console.log(stderr);
            // error handling & exit
       }

       // normal

   });

Unix-shelljs

Links

上一页