stop method
Stop the gRPC server
Implementation
Future<void> stop() async {
if (_serverProcess == null) {
debugPrint('[ServerProcessManager] Server not running');
return;
}
debugPrint('[ServerProcessManager] Stopping server...');
// Try graceful shutdown first
_serverProcess!.kill(ProcessSignal.sigterm);
// Wait for process to exit
try {
await _serverProcess!.exitCode.timeout(
const Duration(seconds: 5),
onTimeout: () {
debugPrint('[ServerProcessManager] Graceful shutdown timed out, force killing');
_serverProcess!.kill(ProcessSignal.sigkill);
return -1;
},
);
} catch (e) {
debugPrint('[ServerProcessManager] Error stopping server: $e');
}
_serverProcess = null;
debugPrint('[ServerProcessManager] Server stopped');
}