创建同步进程


    像这样的阻塞调用有利于简化通用脚本任务,并在启动时有利于简化应用配置的加载/处理。

    • command {String}
    • options {Object}

      • cwd {String} 子进程的当前工作目录
      • input {String} | {Buffer} 该值会被作为传递到衍生进程中的标准输入

        • 提供的值将会覆盖 stdio[0]
      • stdio {Array} 子进程中的 stdio 配置(默认:'pipe')。

        • stderr除非指定了 stdio,否则默认会输出到父进程中的 stderr。
      • env {Object} 环境变量键值对

      • shell {String} 用于执行命令的 shell(默认:在 UNIX 上为 ‘/bin/sh’,在 Windows 上为 ‘cmd.exe’。该 shell 应该能够在 UNIX 上以 -c 启动或在 Windows 上以 /s /c 启动。在 Windows 中,命令行的解析应与 cmd.exe 兼容。)

      • uid {Number} 设置该进程的用户标识。(详见 )

      • gid {Number} 设置该进程的组标识。(详见 setgid(2)

      • timeout {Number} 进程被运行运行的最大时间量,以毫秒为单位(默认:undefined)

      • killSignal {String} 当衍生进程将被杀死时要使用的信号值。(默认:’SIGTERM’)

      • maxBuffer {Number} 在 stdout 或 stderr 中所允许的最大数据量(以字节为单位)- 如果超过了该限制,子进程将被终止。

    • 返回:{Buffer} | {String} 该命令的标准输出

    child_process.execSync() 基本等同于 child_process.exec(),除了该方法直到子进程完全关闭前不会返回结果。当遇到超时并发送了 killSignal 信号时,该方法直到进程完全退出前不会返回结果。请注意,如果拦截了子进程并且处理了 SIGTERM 信号但没有退出,父进程会一直等待直到子进程退出为止。

    如果进程超时,或有一个非零退出码,该方法抛出错误。该 对象包含从 child_process.spawnSync() 获取的整个结果(对象的 Error 属性)。

    • {Array} 字符串参数列表

    • options {Object}

      • cwd {String} 子进程的当前工作目录
      • input {String} | {Buffer} 该值会被作为传递到衍生进程中的标准输入

        • 提供的值将会覆盖 stdio[0]
      • stdio {Array} 子进程中的 stdio 配置(默认:'pipe')。

        • stderr除非指定了 stdio,否则默认会输出到父进程中的 stderr。
      • env {Object} 环境变量键值对

      • shell {String} 用于执行命令的 shell(默认:在 UNIX 上为 ‘/bin/sh’,在 Windows 上为 ‘cmd.exe’。该 shell 应该能够在 UNIX 上以 -c 启动或在 Windows 上以 /s /c 启动。在 Windows 中,命令行的解析应与 cmd.exe 兼容。)

      • uid {Number} 设置该进程的用户标识。(详见 )

      • gid {Number} 设置该进程的组标识。(详见 setgid(2)

      • timeout {Number} 进程被运行运行的最大时间量,以毫秒为单位(默认:undefined)

      • killSignal {String} 当衍生进程将被杀死时要使用的信号值。(默认:’SIGTERM’)

      • maxBuffer {Number} 在 stdout 或 stderr 中所允许的最大数据量(以字节为单位)- 如果超过了该限制,子进程将被终止。

      • encoding {String} 用于所有 stdio 输入和输出的编码

    • 返回:{Buffer} | {String} 该命令的标准输出

    child_process.execFileSync() 基本等同于 child_process.execFile(),除了该方法直到子进程完全关闭前不会返回结果。当遇到超时并发送了 killSignal 信号时,该方法直到进程完全退出前不会返回结果。请注意,如果拦截了子进程并且处理了 SIGTERM 信号但没有退出,父进程会一直等待直到子进程退出为止。

    如果进程超时,或有一个非零退出码,该方法抛出错误。该 对象包含从 child_process.spawnSync() 获取的整个结果(对象的 Error 属性)。

    • command {String} 要运行的命令

    • args {Array} 字符串参数列表

    • 返回:{Object}

      • pid {Number} 子进程的 pid

      • output {Array} 从 stdio 输出的结果数组

      • stdout {Buffer} | {String} output[1] 的内容

      • stderr {Buffer} | {String} output[2] 的内容

      • status {Number} 子进程的退出码

      • signal {String} 用于杀死子进程的信号

      • error {Error} 如果子进程失败或超时产生的错误对象。