📜  在服务中添加 exe - TypeScript (1)

📅  最后修改于: 2023-12-03 15:37:43.639000             🧑  作者: Mango

在服务中添加 exe - TypeScript

在 TypeScript 中,我们可以使用 Node.js 的 child_process 模块来运行其他可执行程序(如 .exe 文件)。这可以为我们提供更多的灵活性和功能性,使得我们可以在 Node.js 中运行基于外部程序的服务。

添加子进程

我们可以使用 child_process 模块中的 spawn() 函数来添加子进程。

import * as childProcess from "child_process";

const child = childProcess.spawn("path/to/exe", ["arg1", "arg2"]);
  • path/to/exe:可执行文件的路径。
  • ["arg1", "arg2"]:可选的命令行参数。
子进程事件

我们可以将回调函数添加到子进程的事件中来检测子进程的状态。

child.stdout.on("data", (data) => {
  console.log(`stdout: ${data}`);
});

child.stderr.on("data", (data) => {
  console.log(`stderr: ${data}`);
});

child.on("close", (code) => {
  console.log(`子进程结束,退出码为: ${code}`);
});
  • stdout 事件:当子进程输出消息到标准输出时触发。
  • stderr 事件:当子进程输出消息到标准错误时触发。
  • close 事件:当子进程结束时触发。
完整示例

以下示例展示了如何在 TypeScript 中添加子进程以运行 .exe 文件,并从标准输出中读取数据。

import * as childProcess from "child_process";

const child = childProcess.spawn("path/to/exe", ["arg1", "arg2"]);

child.stdout.on("data", (data) => {
  console.log(`stdout: ${data}`);
});

child.stderr.on("data", (data) => {
  console.log(`stderr: ${data}`);
});

child.on("close", (code) => {
  console.log(`子进程结束,退出码为: ${code}`);
});
总结

在 TypeScript 中添加子进程可用于运行其他可执行程序,提供更多的灵活性和功能性。我们可以通过 spawn() 函数添加子进程,并将回调函数添加到子进程的事件中来检测子进程的状态。