创建同步进程
像这样的阻塞调用有利于简化通用脚本任务,并在启动时有利于简化应用配置的加载/处理。
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} 子进程的 pidoutput
{Array} 从 stdio 输出的结果数组stdout
{Buffer} | {String}output[1]
的内容stderr
{Buffer} | {String}output[2]
的内容status
{Number} 子进程的退出码signal
{String} 用于杀死子进程的信号error
{Error} 如果子进程失败或超时产生的错误对象。