命令执行

SysProc

System

内置的 process 对象

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

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

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

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

上一页