29 lines
467 B
Go
29 lines
467 B
Go
// +build linux
|
|
package main
|
|
|
|
import (
|
|
// Standard
|
|
"os"
|
|
"os/exec"
|
|
"syscall"
|
|
)
|
|
|
|
func run(cmd *CommandSet) error {
|
|
screen.Fini()
|
|
c := exec.Command("/bin/bash", "-c", lastExecutableCommand.Exec)
|
|
if lastExecutableCommand.Inplace {
|
|
c.Stdin = os.Stdin
|
|
c.Stdout = os.Stdout
|
|
c.Stderr = os.Stderr
|
|
if err := c.Run(); err != nil {
|
|
return err
|
|
}
|
|
} else {
|
|
c.SysProcAttr = &syscall.SysProcAttr{
|
|
Setpgid: true,
|
|
Pgid: 0,
|
|
}
|
|
c.Start()
|
|
}
|
|
return nil
|
|
}
|