Skip to main content
Version: Next

ChildProcess

Child process spawned from command.

Accessors

execPath

Get Signature

get execPath(): string;
Returns

string


exitStatus

Get Signature

get exitStatus(): ChildProcessExitStatus;

Get child process exit status.

Example
const child = new Rsvim.proc.Command("ls").spawn();
await child.wait();
const exitStatus = child.exitStatus;
Returns

ChildProcessExitStatus

It returns exit status if the child process is already finished, otherwise it returns null.


isDisposed

Get Signature

get isDisposed(): boolean;

Child process is already completed.

Example
const child = new Rsvim.proc.Command("ls").spawn();
{
await using usedChild = child;
Rsvim.cmd.echo(usedChild.isDisposed); // false
}
Rsvim.cmd.echo(usedChild.isDisposed); // true
Returns

boolean


options

Get Signature

get options(): CommandOptions;
Returns

CommandOptions


stderr

Get Signature

get stderr(): ChildProcessReadableStream;
Returns

ChildProcessReadableStream


stdout

Get Signature

get stdout(): ChildProcessReadableStream;
Returns

ChildProcessReadableStream

Methods

[asyncDispose]()

asyncDispose: Promise<void>;

Wait for the child process finish with await using API instead of wait.

Returns

Promise<void>

It returns nothing.


wait()

wait(): Promise<ChildProcessExitStatus>;

Wait for child process complete.

Returns

Promise<ChildProcessExitStatus>

It returns a child process exit status.

Throws

Throws Error if the child process is already finished, or failed to wait.

Example

try {
const cmd = new Rsvim.proc.Command("ls");
const child = cmd.spawn();
const output = await child.stdout.text();
const exitStatus = await child.wait();
Rsvim.cmd.echo(`"ls" command is completed successfully: ${exitStatus.success}.`);
} catch (e) {
Rsvim.cmd.echo(`Failed to run "ls" command.`);
}