class Deno.Command
Создать дочерний процесс.
Если какие-либо параметры 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));
Конструкторы
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