Skip to content

Instantly share code, notes, and snippets.

@naufraghi
Created October 17, 2016 12:59
Show Gist options
  • Save naufraghi/02a08969ba54745b368b8f773f39d2f6 to your computer and use it in GitHub Desktop.
Save naufraghi/02a08969ba54745b368b8f773f39d2f6 to your computer and use it in GitHub Desktop.
Spawn a samename process and capture stderr to file
package main
import (
"log"
"os"
"os/exec"
"path/filepath"
"strings"
)
func main() {
basename := filepath.Base(os.Args[0])
args := os.Args[1:]
program, err := exec.LookPath(basename)
if err != nil {
log.Fatalf("Cannot find program: %s", err)
}
cmd := exec.Command("strace", program, strings.Join(args, " "))
file, err := os.Create("/tmp/stderr.log")
if err != nil {
log.Fatalf("Cannot open log file: %s", err)
}
cmd.Stdout = os.Stdout
cmd.Stderr = file
cmd.Stdin = os.Stdin
err = cmd.Start()
if err != nil {
log.Fatalf("Error running program: %s", err)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment