| process_spawn |
function |
go |
infra |
1.0.0 |
impure |
func ProcessSpawn(command string, dir string, env []string, shell string) (*ProcessHandle, error) |
Lanza un subproceso usando el shell indicado. Si shell esta vacio usa 'sh'. Comandos con newlines se tratan como scripts multilinea (se escriben a un archivo temporal). Configura un process group propio (Setpgid) para poder matar todos los hijos con ProcessKill. Captura stdout y stderr via pipes. |
| process |
| subprocess |
| spawn |
| exec |
| shell |
| infra |
|
|
|
|
false |
error_go_core |
| fmt |
| os |
| os/exec |
| strings |
| syscall |
| time |
|
| name |
desc |
| command |
comando shell a ejecutar; si contiene newlines se trata como script multilinea |
|
| name |
desc |
| dir |
directorio de trabajo del proceso hijo; vacio hereda el del proceso padre |
|
| name |
desc |
| env |
variables de entorno en formato KEY=VALUE; nil hereda el entorno del proceso padre |
|
| name |
desc |
| shell |
interprete shell a usar (sh, bash, zsh); vacio usa 'sh' |
|
|
handle del proceso lanzado con Cmd, Pid, StartTime, Dir y los pipes de I/O |
true |
| spawn and wait echo |
| spawn with timeout kills |
| spawn with env |
| spawn script |
| spawn with working dir |
| kill process |
|
functions/infra/process_spawn_test.go |
functions/infra/process_spawn.go |