
Background Process
- 2 installs
- 7 repo stars
- Updated February 3, 2026
- igorwarzocha/opencode-background-process
Housekeeping guidance for launching background processes cleanly: avoiding stale processes and port conflicts, verifying startup, and choosing signals.
About
A housekeeping guide for using background-process tools, covering keeping the process list clean, verifying startup, using meaningful IDs, and choosing the right kill signal. A developer uses it before launching a dev server or long-running background process to avoid stale processes and port conflicts.
- Housekeeping to avoid stale processes and port conflicts
- Guides startup verification, meaningful IDs, and signal choice
Background Process by the numbers
- 2 all-time installs (skills.sh)
- Ranked #1,839 of 2,715 Automation & Workflows skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/igorwarzocha/opencode-background-process --skill background-processAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 2 |
|---|---|
| repo stars | ★ 7 |
| Last updated | February 3, 2026 |
| Repository | igorwarzocha/opencode-background-process ↗ |
What it does
Housekeeping guidance for launching background processes cleanly: avoiding stale processes and port conflicts, verifying startup, and choosing signals.
Files
Background Process Best Practices
<housekeeping>
Keep the Process List Clean
- Kill processes when done - don't leave stale servers running
- Use
background_process_cleanupperiodically to remove exited processes - Before launching, check
background_process_listto avoid duplicates - Use
remove: truewhen killing to clean up in one step
Verify Startup
After launching, wait before reading output - servers need time to start: 1. Launch the process 2. Sleep at least 30 seconds (use bash sleep or just wait before next action) 3. background_process_read to confirm startup 4. If output is empty or incomplete, wait longer and re-read
Look for: "listening on", "ready", "started" - or errors like port conflicts
Use Meaningful IDs
When running multiple processes, set custom id for clarity:
id: "frontend"andid: "backend"instead ofvite-1,node-2- Makes kill/read commands unambiguous
</housekeeping>
<signals>
When to Use Each Signal
| Signal | Use When |
|---|---|
| SIGTERM (default) | Normal shutdown - gives process time to cleanup |
| SIGINT | Simulate Ctrl+C - some processes handle this differently |
| SIGKILL | Process won't die with SIGTERM - force kill |
</signals>
<gotchas>
- Processes persist for the session - they don't auto-cleanup on conversation end
- Output buffer is limited (500 lines default) - increase
maxOutputLinesfor verbose builds - stderr is prefixed with
[stderr]in output - helps distinguish errors
</gotchas>