child_process.execFileSync(file[, args][, options])
file<string> 要运行的可执行文件的名称或路径。args<string[]> 字符串参数列表。options<Object>cwd<string> | <URL> 子进程的当前工作目录。input<string> | <Buffer> | <TypedArray> | <DataView> 将作为标准输入传递给生成的进程的值。提供此值将覆盖stdio[0]。stdio<string> | <Array> 子进程的标准输入输出配置。默认情况下,stderr将输出到父进程的标准错误,除非指定了stdio。默认值:'pipe'。env<Object> 环境键值对。默认值:process.env。uid<number> 设置进程的用户身份(参见setuid(2))。gid<number> 设置进程的组标识(参见setgid(2))。timeout<number> 以毫秒为单位,进程允许运行的最长时间。默认值:undefined。killSignal<string> | <integer> 在生成的进程将被终止时使用的信号值。默认值:'SIGTERM'。maxBuffer<number> stdout 或 stderr 上允许的最大数据量(以字节为单位)。如果超过,该子进程将被终止。详见maxBuffer和 Unicode 的注意事项。默认值:1024 * 1024。encoding<string> 用于所有标准输入和输出的编码。 默认值:'buffer'。windowsHide<boolean> 隐藏通常会在 Windows 系统上创建的子进程控制台窗口。默认值:false。shell<boolean> | <string> 如果true,在 shell 中运行command。在 Unix 上使用'/bin/sh',在 Windows 上使用process.env.ComSpec。可以将不同的 shell 指定为字符串。参见 Shell 要求 和 默认 Windows shell。默认值:false(无 shell)。
- 返回:<Buffer> | <string> 命令的标准输出。
child_process.execFileSync() 方法通常与 child_process.execFile() 完全相同,唯一的区别是该方法在子进程完全关闭之前不会返回。当遇到超时并发送 killSignal 时,该方法不会返回,直到进程完全退出。
🌐 The child_process.execFileSync() method is generally identical to
child_process.execFile() with the exception that the method will not
return until the child process has fully closed. When a timeout has been
encountered and killSignal is sent, the method won't return until the process
has completely exited.
如果子进程拦截并处理 SIGTERM 信号且没有退出,父进程仍然会等待直到子进程退出。
🌐 If the child process intercepts and handles the SIGTERM signal and
does not exit, the parent process will still wait until the child process has
exited.
如果进程超时或有非零退出代码,此方法将抛出一个 Error,其中将包含底层 child_process.spawnSync() 的完整结果。
🌐 If the process times out or has a non-zero exit code, this method will throw an
Error that will include the full result of the underlying
child_process.spawnSync().
如果启用了 shell 选项,请不要将未经过滤的用户输入传递给此函数。任何包含 shell 元字符的输入都可能被用来触发任意命令的执行。