# process.child ## 功能 启动子进程并把句柄保存在当前 Process 对象中。 ## 语法 ```bt process(program).child() ``` ## 参数 无参数。 ## 返回值 | 类型 | 说明 | | ------ | ------ | | Process | 返回共享同一子进程句柄的 Process 对象。 | ## 示例 ```bt child = process('cmd').args(['/C', 'exit 0']).child() result = type(child) // 输出:Process print result ``` ## 注意事项 - 同一 Process 克隆对象共享子进程句柄。 - 默认启动 stdout/stderr 管道,后续可通过 stdout_read、stdout_read_lines、stderr_read、stderr_read_lines 读取。 - 未调用 stdin(text) 时,child() 会关闭子进程 stdin,不继承父进程 stdin,避免桌面 App 或后台服务继承无效输入句柄。 - Windows 下默认隐藏 console 子进程窗口,桌面 App 中启动控制台程序不会弹出黑色控制台窗口。 - 如果提前调用 inherit_stdio() 或 null_stdio(),子进程不会保留脚本侧可读取管道。 - 如果提前调用 stdin(text),child() 会写入文本并关闭 stdin 管道,避免子进程长期等待输入。 - Process 对象最后释放时会终止仍在运行的托管子进程;Windows 下会尽量递归终止子进程树。