Rush StackShopBlogEvents
Skip to main content

Home > @rushstack/node-core-library > Executable > spawn

Executable.spawn() method

Start a child process.


static spawn(filename: string, args: string[], options?: IExecutableSpawnOptions): child_process.ChildProcess;


filenamestringThe name of the executable file. This string must not contain any command-line arguments. If the name contains any path delimiters, then the shell's default PATH will not be searched.
argsstring[]The command-line arguments to be passed to the process.
optionsIExecutableSpawnOptions(Optional) Additional options



the same data type as returned by the NodeJS child_process.spawnSync() API


This function is similar to child_process.spawn(). The main differences are:

  • It does not invoke the OS shell unless the executable file is a shell script. - Command-line arguments containing special characters are more accurately passed through to the child process. - If the filename is missing a path, then the shell's default PATH will be searched. - If the filename is missing a file extension, then Windows default file extensions will be searched.

This command is asynchronous, but it does not return a Promise. Instead it returns a Node.js ChildProcess supporting event notifications.