(sess *Session)
| 470 | } |
| 471 | |
| 472 | func (m *CLIBridgeModule) stopSession(sess *Session) { |
| 473 | sess.mu.Lock() |
| 474 | defer sess.mu.Unlock() |
| 475 | |
| 476 | if sess.Cmd.Process != nil { |
| 477 | sess.Cmd.Process.Signal(syscall.SIGTERM) |
| 478 | go func() { |
| 479 | select { |
| 480 | case <-sess.Done: |
| 481 | case <-time.After(5 * time.Second): |
| 482 | sess.Cmd.Process.Kill() |
| 483 | } |
| 484 | }() |
| 485 | } |
| 486 | } |