sensorlog: Use built-in setsid instead of standalone binary.
Standalone setsid is not available on Darwin.
MultiPart: 2/2
Change-Id: If5837e4df12333b3030ce88fecf27cbc3afe8273
diff --git a/go/src/v.io/x/sensorlog/internal/measure/sampler/sampler.go b/go/src/v.io/x/sensorlog/internal/measure/sampler/sampler.go
index bf4561f..14c11af 100644
--- a/go/src/v.io/x/sensorlog/internal/measure/sampler/sampler.go
+++ b/go/src/v.io/x/sensorlog/internal/measure/sampler/sampler.go
@@ -36,7 +36,11 @@
func Run(ctx *context.T, samDef *sbmodel.SamplerDef, cb MeasureCallback) error {
var out bytes.Buffer
// Run sampling script using bash and capture output.
- sh := exec.Command("setsid", "bash")
+ sh := exec.Command("bash")
+ // Setsid to create new process group, for more robust signalling.
+ sh.SysProcAttr = &syscall.SysProcAttr{
+ Setsid: true,
+ }
sh.Stdin = bytes.NewBufferString(samDef.Script)
sh.Stdout = &out
// TODO(ivanpi): Fail on any stderr output?