# ProcessGuard — Critical Process Monitor & Auto-Restart

> Monitor critical processes and auto-restart on failure. Tracks CPU and memory usage, escalates alerts via webhook, callback, or file, and writes a dead man's switch heartbeat so you know if ProcessGuard itself goes down. HTTP dashboard included. Zero required dependencies — CPU/memory monitoring unlocked with optional pidusage install.

- Skill: `lord1egypt/processguard-critical-process-monitor-auto-restart` (Agent Skill)
- Install (CLI): `npx skillmds@latest add lord1egypt/processguard-critical-process-monitor-auto-restart`
- Raw SKILL.md: https://api.skillmd.com/api/skills/lord1egypt/processguard-critical-process-monitor-auto-restart/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Integrations & APIs
- License: MIT
- Author: Lord1Egypt (https://skillmd.com/u/lord1egypt)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/lord1egypt/processguard-critical-process-monitor-auto-restart

---


# ProcessGuard — Critical Process Monitor & Auto-Restart

Keep services running without babysitting. Define processes, configure health checks, and let ProcessGuard handle the rest.

## What It Does

- **Health checks** — HTTP, TCP port, PID file, or shell command
- **Auto-restart** — configurable retry limits and cooldown delays
- **CPU & memory monitoring** — per-process thresholds with alerts (requires `npm install pidusage`)
- **Alert escalation** — warning → critical, delivered via callback / webhook / JSON file
- **Dead man's switch** — heartbeat file updated every 10s so external monitors know if ProcessGuard itself crashes
- **HTTP dashboard** — optional `/status` endpoint for real-time JSON status
- **Command allowlist** — optionally restrict which executables restart/check commands may use

## Quick Setup

```javascript
const { ProcessGuard } = require('./src/process-guard');

const guard = new ProcessGuard({
  processes: [
    {
      name: 'ollama',
      check: 'http://localhost:11434/api/tags',
      restart: 'ollama serve',
      maxRestarts: 5,
      cooldown: 5000
    }
  ],
  checkInterval: 30000,
  dashboardPort: 9090,
  alert: {
    onAlert: async (alert) => console.error(`ALERT: ${alert.message}`)
  }
});

guard.start();
```

See README.md for full documentation, all config options, and advanced examples.



