Spec-Zone.ru › Deno 1

Deno.Process

Представляет экземпляр дочернего процесса, возвращаемого из Deno.run, который можно использовать для управления дочерним процессом.

class Process<T extends RunOptions = RunOptions> {
readonly pid: number;
readonly rid: number;
readonly stderr: T["stderr"] extends "piped" ? Reader & Closer & {
readable: ReadableStream<Uint8Array>;
}
: (Reader & Closer & {
readable: ReadableStream<Uint8Array>;
}
)
| null
;
readonly stdin: T["stdin"] extends "piped" ? Writer & Closer & {
writable: WritableStream<Uint8Array>;
}
: (Writer & Closer & {
writable: WritableStream<Uint8Array>;
}
)
| null
;
readonly stdout: T["stdout"] extends "piped" ? Reader & Closer & {
readable: ReadableStream<Uint8Array>;
}
: (Reader & Closer & {
readable: ReadableStream<Uint8Array>;
}
)
| null
;
close(): void;
kill(signo: Signal): void;
output(): Promise<Uint8Array>;
status(): Promise<ProcessStatus>;
stderrOutput(): Promise<Uint8Array>;
}

Параметры типа

T extends RunOptions = RunOptions

Свойства

pid: number

Идентификатор процесса подпроцесса в операционной системе.

rid: number

Идентификатор ресурса подпроцесса.

stderr: T["stderr"] extends "piped" ? Reader & Closer & {
readable: ReadableStream<Uint8Array>;
}
: (Reader & Closer & {
readable: ReadableStream<Uint8Array>;
}
)
| null

Ссылка на stderr подпроцесса, позволяющая взаимодействовать с подпроцессом на низком уровне.

stdin: T["stdin"] extends "piped" ? Writer & Closer & {
writable: WritableStream<Uint8Array>;
}
: (Writer & Closer & {
writable: WritableStream<Uint8Array>;
}
)
| null

Ссылка на stdin подпроцесса, позволяющая взаимодействовать с подпроцессом на низком уровне.

stdout: T["stdout"] extends "piped" ? Reader & Closer & {
readable: ReadableStream<Uint8Array>;
}
: (Reader & Closer & {
readable: ReadableStream<Uint8Array>;
}
)
| null

Ссылка на stdout подпроцесса, позволяющая взаимодействовать с подпроцессом на низком уровне.

Методы

close(): void

Освобождение ресурсов, связанных с экземпляром подпроцесса.

kill(signo: Signal): void

Отправка сигнала процессу.

const p = Deno.run({ cmd: [ "sleep", "20" ]});
p.kill("SIGTERM");
p.close();
output(): Promise<Uint8Array>

Буферизация stdout до EOF и возврат в виде Uint8Array.

При создании процесса необходимо установить stdout на "piped".

После завершения выполняется close() для stdout.

status(): Promise<ProcessStatus>

Ожидание завершения процесса и возврат его кода выхода.

Вызов этой функции несколько раз вернет тот же статус.

Ссылка stdin на процесс будет закрыта до ожидания, чтобы избежать тупика.

Если stdout и/или stderr были установлены на "piped", они должны быть закрыты вручную, прежде чем процесс сможет завершиться.

Для запуска процесса до завершения и сбора вывода из stdout и stderr используйте:

const p = Deno.run({ cmd: [ "echo", "hello world" ], stderr: 'piped', stdout: 'piped' });
const [status, stdout, stderr] = await Promise.all([
  p.status(),
  p.output(),
  p.stderrOutput()
]);
p.close();
stderrOutput(): Promise<Uint8Array>

Буферизация stderr до EOF и возврат в виде Uint8Array.

При создании процесса необходимо установить stderr на "piped".

После завершения выполняется close() для stderr.

© 2018–2022 the Deno authors
https://doc.deno.land/deno/stable/~/Deno.Process

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API