Spec-Zone.ru › Deno 2

class Deno.Command

allow-run

Создать дочерний процесс.

Если какие-либо параметры stdio не установлены в "piped", доступ к соответствующему полю в Command или его CommandOutput вызовет TypeError.

Если stdin установлено в "piped", необходимо вручную закрыть stdin WritableStream.

Command действует как конструктор. Каждый вызов Command.spawn или Command.output запустит новый дочерний процесс.

Примеры

Запустить дочерний процесс и направить вывод в файл

const command = new Deno.Command(Deno.execPath(), {
  args: [
    "eval",
    "console.log('Hello World')",
  ],
  stdin: "piped",
  stdout: "piped",
});
const child = command.spawn();

// open a file and pipe the subprocess output to it.
child.stdout.pipeTo(
  Deno.openSync("output", { write: true, create: true }).writable,
);

// manually close stdin
child.stdin.close();
const status = await child.status;

Запустить дочерний процесс и собрать его вывод

const command = new Deno.Command(Deno.execPath(), {
  args: [
    "eval",
    "console.log('hello'); console.error('world')",
  ],
});
const { code, stdout, stderr } = await command.output();
console.assert(code === 0);
console.assert("hello\n" === new TextDecoder().decode(stdout));
console.assert("world\n" === new TextDecoder().decode(stderr));

Запустить дочерний процесс и синхронно собрать его вывод

const command = new Deno.Command(Deno.execPath(), {
  args: [
    "eval",
    "console.log('hello'); console.error('world')",
  ],
});
const { code, stdout, stderr } = command.outputSync();
console.assert(code === 0);
console.assert("hello\n" === new TextDecoder().decode(stdout));
console.assert("world\n" === new TextDecoder().decode(stderr));

Конструкторы

new
Command(command: string | URL,options?: CommandOptions,)

Методы

output(): Promise<CommandOutput>

Исполняет Deno.Command, ожидая его завершения и собирая весь вывод.

Вызовет ошибку, если stdin: "piped" установлено.

Если параметры stdout или stderr не установлены в "piped", доступ к соответствующему полю в Deno.CommandOutput вызовет TypeError.

outputSync(): CommandOutput

Синхронно выполняет Deno.Command, ожидая его завершения и собирая весь вывод.

Вызовет ошибку, если stdin: "piped" установлено.

Если параметры stdout или stderr не установлены в "piped", доступ к соответствующему полю в Deno.CommandOutput вызовет TypeError.

spawn(): ChildProcess

Запускает потоковый дочерний процесс, позволяя использовать другие методы.

© 2018–2024 the Deno authors
Licensed under the MIT License.
https://docs.deno.com/api/deno/~/Deno.Command

Spec-Zone.ru

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