# process 进程库

## 功能

process(program) 创建命令构建器，支持参数、环境变量、工作目录、stdio 配置、同步执行和子进程句柄操作。

## API 列表

| API | 说明 |
| ------ | ------ |
| [process.arg](/docs/process/arg) | 追加一个命令行参数。 |
| [process.args](/docs/process/args) | 批量追加命令行参数。 |
| [process.env](/docs/process/env) | 设置一个子进程环境变量。 |
| [process.envs](/docs/process/envs) | 批量设置子进程环境变量。 |
| [process.current_dir](/docs/process/current_dir) | 设置子进程工作目录。 |
| [process.stdin](/docs/process/stdin) | 设置要写入子进程标准输入的文本。 |
| [process.inherit_stdio](/docs/process/inherit_stdio) | 让子进程继承当前进程 stdio。 |
| [process.null_stdio](/docs/process/null_stdio) | 丢弃子进程 stdio。 |
| [process.env_clear](/docs/process/env_clear) | 启动子进程前清空继承环境变量。 |
| [process.env_remove](/docs/process/env_remove) | 从已配置环境变量中删除一个键。 |
| [process.get_args](/docs/process/get_args) | 读取当前构建器已配置的参数数组。 |
| [process.get_current_dir](/docs/process/get_current_dir) | 读取当前构建器工作目录配置。 |
| [process.get_envs](/docs/process/get_envs) | 读取当前构建器环境变量配置。 |
| [process.get_program](/docs/process/get_program) | 读取当前构建器程序路径。 |
| [process.status](/docs/process/status) | 同步执行命令并返回退出码。 |
| [process.output](/docs/process/output) | 同步执行命令并返回输出对象。 |
| [process.child](/docs/process/child) | 启动子进程并把句柄保存在当前 Process 对象中。 |
| [process.pid](/docs/process/pid) | 读取已启动子进程 PID。 |
| [process.kill](/docs/process/kill) | 终止已启动子进程。 |
| [process.wait](/docs/process/wait) | 等待已启动子进程退出。 |
| [process.try_wait](/docs/process/try_wait) | 非阻塞检查已启动子进程是否退出。 |
| [process.stdout](/docs/process/stdout) | 预留的标准输出读取方法。 |
| [process.stdout_read](/docs/process/stdout_read) | 预留的标准输出读取方法。 |
| [process.stdout_read_lines](/docs/process/stdout_read_lines) | 预留的标准输出按行读取方法。 |
| [process.stderr_read](/docs/process/stderr_read) | 预留的标准错误读取方法。 |
| [process.stderr_read_lines](/docs/process/stderr_read_lines) | 预留的标准错误按行读取方法。 |
| [process.child_running](/docs/process/child_running) | 判断当前 Process 对象是否保存子进程句柄。 |

## 示例

```bt
ret = process('cmd').args(['/C', 'echo BT']).output()
result = ret.stdout.trim()

// 输出：BT
print result
```

## 注意事项

- 示例以 Windows cmd 为例；Linux/macOS 可使用 sh -c。
- status、output、wait 会阻塞当前流程，常驻服务中应谨慎使用。
