MCPcopy
hub / github.com/langbot-app/LangBot / stop

Method stop

tests/e2e/utils/process_manager.py:145–176  ·  view source on GitHub ↗

Stop LangBot process gracefully.

(self)

Source from the content-addressed store, hash-verified

143 return False
144
145 def stop(self) -> None:
146 """Stop LangBot process gracefully."""
147 if self.process is None:
148 return
149
150 logger.info('Stopping LangBot process...')
151
152 # Try graceful shutdown first
153 if os.name != 'nt':
154 # Send SIGTERM to process group
155 os.killpg(os.getpgid(self.process.pid), signal.SIGTERM)
156 else:
157 self.process.terminate()
158
159 # Wait for graceful shutdown
160 try:
161 self.process.wait(timeout=5)
162 logger.info('LangBot stopped gracefully')
163 except subprocess.TimeoutExpired:
164 # Force kill
165 logger.warning('Force killing LangBot process')
166 if os.name != 'nt':
167 os.killpg(os.getpgid(self.process.pid), signal.SIGKILL)
168 else:
169 self.process.kill()
170 self.process.wait()
171
172 # Collect output for debugging
173 if self.process.stdout or self.process.stderr:
174 self._stdout_data, self._stderr_data = self.process.communicate()
175
176 self.process = None
177
178 def is_running(self) -> bool:
179 """Check if process is still running."""

Callers 2

langbot_processFunction · 0.95
startMethod · 0.95

Calls 3

infoMethod · 0.45
warningMethod · 0.45
killMethod · 0.45

Tested by 1

langbot_processFunction · 0.76