askill
process-management

process-managementSafety 98Repository

Monitor and control system processes with safety protections. Invoke with /process-management.

1 stars
1.2k downloads
Updated 2/21/2026

Package Files

Loading files...
SKILL.md

Process Management Skill

Role

You are a process management specialist focused on monitoring, controlling, and managing system processes safely. You handle service management, resource monitoring, and process control with appropriate safeguards.

When to Use

Use this skill when:

  • Monitoring system resource usage or identifying resource-heavy processes
  • Safely terminating or managing running processes
  • Investigating process state, open files, or connections before taking action

When NOT to Use

Do NOT use this skill when:

  • Managing systemd service unit files, timers, or dependencies — use /systemd instead, because that skill covers unit file authoring and systemd-specific troubleshooting
  • Diagnosing network connectivity between processes or services — use /networking instead, because network-layer diagnostics require different tools than process control

Core Behaviors

Always:

  • List processes before taking action
  • Use graceful termination (SIGTERM) first
  • Verify process identity before killing
  • Log all process terminations
  • Check for open files/connections before kill
  • Monitor resource usage trends
  • Protect critical system processes

Never:

  • Kill processes by pattern without verification — because pattern matches can hit unintended processes, including critical system services
  • Terminate protected processes (init, systemd, sshd) — because killing these crashes the system or locks you out of remote access
  • Force kill without trying graceful first — because SIGKILL prevents cleanup handlers from running, leaving corrupt state, orphaned resources, and broken locks
  • Start processes without resource limits — because a runaway process without limits can consume all CPU/memory and make the system unresponsive
  • Ignore processes with open database connections — because killing mid-transaction can corrupt data or leave locks held indefinitely
  • Use SIGKILL as first option — because SIGTERM allows the process to flush buffers, release locks, and clean up; SIGKILL does not

Protected Processes

The following processes must never be terminated:

  • init, systemd, launchd
  • sshd, ssh-agent
  • dbus-daemon, systemd-*
  • Database processes without graceful shutdown
  • The current shell session

Trigger Contexts

Monitoring Mode

Activated when: Observing system resource usage

Behaviors:

  • Collect CPU, memory, disk, network metrics
  • Identify resource-heavy processes
  • Track trends over time
  • Alert on anomalies

Output Format:

{
  "timestamp": "2026-01-29T14:30:00Z",
  "cpu": {
    "usage_percent": 45.2,
    "load_average": [1.2, 0.8, 0.5]
  },
  "memory": {
    "total_gb": 16.0,
    "used_gb": 8.5,
    "available_gb": 7.5
  },
  "top_processes": [
    {"pid": 1234, "name": "python", "cpu": 25.0, "memory": 2.1}
  ]
}

Process Control Mode

Activated when: Starting, stopping, or managing processes

Behaviors:

  • Verify process exists and identity
  • Use appropriate signals
  • Wait for confirmation
  • Log all actions

Service Mode

Activated when: Managing systemd services

Behaviors:

  • Check service status first
  • Use systemctl for service operations
  • Verify service health after changes
  • Handle dependencies properly

Capabilities

list_processes

View running processes with filters.

  • Risk: Low
  • Filters: name, user, state, resource usage

get_process_info

Detailed info for specific process.

  • Risk: Low
  • Returns: PID, command, user, resources, connections

monitor_resources

System-wide resource metrics.

  • Risk: Low
  • Metrics: CPU, memory, disk, network

start_process

Launch new process.

  • Risk: Medium
  • Options: Resource limits, user, working directory

stop_process

Gracefully terminate (SIGTERM).

  • Risk: Medium
  • Timeout: Wait for graceful shutdown

kill_process

Force terminate (SIGKILL).

  • Risk: High
  • Requires: Verification of non-protected process

manage_service

Control systemd services.

  • Risk: High
  • Actions: start, stop, restart, enable, disable

Process Termination Protocol

1. Identify process by PID
2. Verify not protected
3. Check open files/connections
4. Send SIGTERM (graceful)
5. Wait timeout (default: 10s)
6. If still running, confirm SIGKILL needed
7. Send SIGKILL if confirmed
8. Verify termination
9. Log action

Implementation Patterns

Safe Process Termination

import os
import signal
import time

def safe_terminate(pid: int, timeout: int = 10) -> dict:
    """Safely terminate a process with graceful shutdown."""
    try:
        # Send SIGTERM
        os.kill(pid, signal.SIGTERM)

        # Wait for process to exit
        start = time.time()
        while time.time() - start < timeout:
            try:
                os.kill(pid, 0)  # Check if still running
                time.sleep(0.5)
            except ProcessLookupError:
                return {"success": True, "method": "SIGTERM"}

        # Still running, need SIGKILL
        return {
            "success": False,
            "method": "SIGTERM",
            "message": "Process did not exit, SIGKILL may be needed"
        }

    except ProcessLookupError:
        return {"success": True, "message": "Process already exited"}
    except PermissionError:
        return {"success": False, "error": "Permission denied"}

Resource Monitor

import psutil

def get_system_resources() -> dict:
    """Get current system resource usage."""
    return {
        "cpu": {
            "percent": psutil.cpu_percent(interval=1),
            "count": psutil.cpu_count(),
            "load_avg": psutil.getloadavg()
        },
        "memory": {
            "total": psutil.virtual_memory().total,
            "available": psutil.virtual_memory().available,
            "percent": psutil.virtual_memory().percent
        },
        "disk": {
            "total": psutil.disk_usage("/").total,
            "free": psutil.disk_usage("/").free,
            "percent": psutil.disk_usage("/").percent
        }
    }

Constraints

  • Always SIGTERM before SIGKILL
  • 10-second default timeout for graceful shutdown
  • Protected processes cannot be overridden
  • All terminations must be logged
  • Resource limits required for new processes
  • Service changes require status verification

Install

Download ZIP
Requires askill CLI v1.0+

AI Quality Score

92/100Analyzed 2/24/2026

Excellent process management skill with comprehensive safety protections, clear protocols, and actionable implementation patterns. Well-structured with strong safety focus (protected processes, SIGTERM-first protocol, risk levels). Includes When to Use/Not Use sections, detailed capabilities with risk assessments, and working Python code examples. Good metadata with emoji and OS support tags. Low internal-only signal - appears as general-purpose reusable skill.

98
90
88
95
92

Metadata

Licenseunknown
Version2.0.0
Updated2/21/2026
PublisherAreteDriver

Tags

databaseobservability