Golang os.StartProcess 函数使用教程 - 启动新进程
os.StartProcess 是一个 Golang 函数,用于启动一个新的进程。它的参数包括可执行文件的路径、命令行参数、环境变量、工作目录等等。
以下是一个简单的例子:
package main
import (
"fmt"
"os"
)
func main() {
cmd := "/bin/ls"
args := []string{"-l", "/tmp"}
env := os.Environ()
cwd, _ := os.Getwd()
attr := &os.ProcAttr{
Dir: cwd,
Env: env,
Files: []*os.File{os.Stdin, os.Stdout, os.Stderr},
}
proc, err := os.StartProcess(cmd, args, attr)
if err != nil {
fmt.Println("Error:", err)
return
}
_, err = proc.Wait()
if err != nil {
fmt.Println("Error:", err)
return
}
}
这个例子启动了一个新的进程,执行了 ls 命令,并打印了 /tmp 目录下的文件列表。
在这个例子中,我们首先定义了要执行的命令和参数,然后获取了当前工作目录和环境变量。接着,我们创建了一个 os.ProcAttr 对象,用于设置进程的属性,包括工作目录、环境变量和文件描述符。最后,我们调用 os.StartProcess 函数启动了一个新的进程,并等待它执行完毕。
原文地址: https://www.cveoy.top/t/topic/kR4Y 著作权归作者所有。请勿转载和采集!