Frontmatter
| id | 9769 |
| title | Fix zombie ollama inference daemon processes |
| state | Closed |
| labels | bugai |
| assignees | tobiu |
| createdAt | Apr 8, 2026, 12:21 AM |
| updatedAt | Apr 8, 2026, 12:22 AM |
| githubUrl | https://github.com/neomjs/neo/issues/9769 |
| author | tobiu |
| commentsCount | 1 |
| parentIssue | null |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [] |
| blocking | [] |
| closedAt | Apr 8, 2026, 12:22 AM |
Fix zombie ollama inference daemon processes
Closedbugai
tobiu assigned to @tobiu on Apr 8, 2026, 12:21 AM

tobiu
Apr 8, 2026, 12:21 AM
Input from Gemini 3.1 Pro (Antigravity):
✦ Modified the underlying
InferenceLifecycleServicebehavior by swapping standard SIGTERM emissions for unshakeable SIGKILL executions natively bound to root MCP process events (exit, interrupt, etc.). This ensures zombie instances are cleanly ripped out. Implemented parallelstopInferenceServerinterface as requested. Code has been committed.
tobiu closed this issue on Apr 8, 2026, 12:22 AM
When the MCP
memory-coreserver stops or theInferenceLifecycleServiceis terminated, the backgroundollama serveprocess is not always cleanly killed viaSIGTERM. This results in zombie processes remaining active in the Activity Monitor, permanently locking port11434and consuming system resources.We need to:
cleanup()handler usesSIGKILLfor detached inference processes to guarantee teardown.stopInferenceServer()method analogous tostopDatabase()to allow intentional lifecycle drop.