Files
archived-tauri-docs/docs/api/js/classes/shell.Command.md
2022-03-29 07:36:52 +02:00

4.6 KiB

@tauri-apps/api / shell / Command

Class: Command

shell.Command

The entry point for spawning child processes. It emits the close and error events.

example

const command = new Command('node')
command.on('close', data => {
  console.log(`command finished with code ${data.code} and signal ${data.signal}`)
})
command.on('error', error => console.error(`command error: "${error}"`))
command.stdout.on('data', line => console.log(`command stdout: "${line}"`))
command.stderr.on('data', line => console.log(`command stderr: "${line}"`))

const child = await command.spawn()
console.log('pid:', child.pid)

Hierarchy

Constructors

constructor

new Command(program, args?, options?)

Creates a new Command instance.

Parameters

Name Type Default value Description
program string undefined The program name to execute. It must be configured on tauri.conf.json > tauri > allowlist > shell > scope.
args string | string[] [] Program arguments.
options? SpawnOptions undefined Spawn options.

Overrides

EventEmitter.constructor

Defined in

shell.ts:266

Properties

stderr

Readonly stderr: EventEmitter<"data">

Event emitter for the stderr. Emits the data event.

Defined in

shell.ts:256


stdout

Readonly stdout: EventEmitter<"data">

Event emitter for the stdout. Emits the data event.

Defined in

shell.ts:254

Methods

execute

execute(): Promise<ChildProcess>

Executes the command as a child process, waiting for it to finish and collecting all of its output.

example

const output = await new Command('echo', 'message').execute()
assert(output.code === 0)
assert(output.signal === null)
assert(output.stdout === 'message')
assert(output.stderr === '')

Returns

Promise<ChildProcess>

A promise resolving to the child process output.

Defined in

shell.ts:343


on

on(event, handler): EventEmitter<"close" | "error">

Listen to an event from the child process.

Parameters

Name Type Description
event "close" | "error" The event name.
handler (arg: any) => void The event handler.

Returns

EventEmitter<"close" | "error">

The this instance for chained calls.

Inherited from

EventEmitter.on

Defined in

shell.ts:173


spawn

spawn(): Promise<Child>

Executes the command as a child process, returning a handle to it.

Returns

Promise<Child>

A promise resolving to the child process handle.

Defined in

shell.ts:306


sidecar

Static sidecar(program, args?, options?): Command

Creates a command to execute the given sidecar program.

example

const command = Command.sidecar('my-sidecar')
const output = await command.execute()

Parameters

Name Type Default value Description
program string undefined The program to execute. It must be configured on tauri.conf.json > tauri > allowlist > shell > scope.
args string | string[] [] Program arguments.
options? SpawnOptions undefined Spawn options.

Returns

Command

Defined in

shell.ts:291