MCPcopy Index your code
hub / github.com/baetyl/baetyl / Start

Method Start

program/program.go:23–45  ·  view source on GitHub ↗
(s service.Service)

Source from the content-addressed store, hash-verified

21}
22
23func (p *Program) Start(s service.Service) error {
24 // Look for exec.
25 // Verify home directory.
26 fullExec, err := exec.LookPath(p.cfg.Exec)
27 if err != nil {
28 return errors.Trace(err)
29 }
30
31 if runtime.GOOS == "windows" && strings.Contains(fullExec, ".py") {
32 p.cmd = exec.Command("python", fullExec)
33 } else if runtime.GOOS == "windows" && strings.Contains(fullExec, ".js") {
34 p.cmd = exec.Command("node", fullExec)
35 } else {
36 p.cmd = exec.Command(fullExec, p.cfg.Args...)
37 p.cmd.Dir = p.cfg.Dir
38 }
39 p.cmd.Env = append(os.Environ(), p.cfg.Env...)
40 p.cmd.Stderr = p.log
41 p.cmd.Stdout = p.log
42
43 go p.run()
44 return nil
45}
46func (p *Program) run() {
47 fmt.Fprintln(p.log, "Program starting", p.cfg.DisplayName)
48 defer p.Stop(p.svc)

Callers

nothing calls this directly

Calls 1

runMethod · 0.95

Tested by

no test coverage detected