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;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