• command {string} 要运行的命令。
    • args {string[]} 字符串参数的列表。
    • options {Object}
      • cwd {string} 子进程的当前工作目录。
      • input {string|Buffer|TypedArray|DataView} 该值会作为 stdin 传给衍生的进程。提供此值会覆盖 stdio[0]
      • argv0 {string} 显式地设置发送给子进程的 argv[0] 的值。如果没有指定,则会被设置为 command 的值。
      • stdio {string|Array} 子进程的 stdio 配置。
      • 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][maxBuffer and Unicode] 的注意事项。 默认值: 1024 * 1024
      • encoding {string} 用于所有 stdio 输入和输出的字符编码。默认值: 'buffer'
      • shell {boolean|string} 如果为 true,则在 shell 中运行 command。 在 Unix 上使用 '/bin/sh',在 Windows 上使用 process.env.ComSpec。 可以将不同的 shell 指定为字符串。 参见 [shell 的要求][Shell requirements]和[默认的 Windows shell][Default Windows shell]。 默认值: false(没有 shell)。
      • windowsVerbatimArguments {boolean} 在 Windows 上不为参数加上引号或转义。在 Unix 上会被忽略。如果指定了 shell 并且是 CMD,则自动设为 true默认值: false
      • windowsHide {boolean} 隐藏子进程的控制台窗口(在 Windows 系统上通常会创建)。默认值: false
    • 返回: {Object}
      • pid {number} 子进程的 pid。
      • output {Array} stdio 输出的结果数组。
      • stdout {Buffer|string} output[1] 的内容。
      • stderr {Buffer|string} output[2] 的内容。
      • status {number} 子进程的退出码,如果子进程因信号而终止,则为 null
      • signal {string} 用于杀死子进程的信号,如果子进程不是因信号而终止,则为 null
      • error {Error} 如果子进程失败或超时的错误对象。

    child_process.spawnSync() 方法通常与 [child_process.spawn()] 相同,但在子进程完全关闭之前该函数不会返回。 当遇到超时并且已发送 killSignal 时,该方法也需等到进程完全退出后才返回。 如果进程拦截并处理了 SIGTERM 信号但未退出,则父进程会等待直到子进程退出。

    如果启用了 shell 选项,则不要将未经过处理的用户输入传给此函数。 包含 shell 元字符的任何输入都可用于触发任意命令的执行。