diff options
Diffstat (limited to 'mkvlib/p.go')
| -rw-r--r-- | mkvlib/p.go | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/mkvlib/p.go b/mkvlib/p.go new file mode 100644 index 0000000..5d54049 --- /dev/null +++ b/mkvlib/p.go @@ -0,0 +1,30 @@ +//go:build !windows + +package mkvlib + +import ( + "io" + "os" + "os/exec" +) + +func newProcess(stdin io.Reader, stdout, stderr io.Writer, dir, prog string, args ...string) (p *os.Process, err error) { + cmd := exec.Command(prog, args...) + if dir != "" { + cmd.Dir = dir + } + if stdin != nil { + cmd.Stdin = stdin + } + if stdout != nil { + cmd.Stdout = stdout + } + if stderr != nil { + cmd.Stderr = stderr + } + err = cmd.Start() + if err == nil { + p = cmd.Process + } + return +} |
