{
  "name": "processes",
  "kind": "bundled",
  "title": "Processes",
  "description": "What is running, busiest first, with its memory; type :3000 to see what listens on a port. Kill a process or open it in Activity Monitor.",
  "version": "0.1.0",
  "icon": {
    "tile": {
      "glyph": "󰍛",
      "bg": "slate"
    }
  },
  "author": "pal",
  "spec": "github:zcag/pal/extensions/processes@v0.17.4",
  "source": "https://github.com/zcag/pal-extensions/tree/HEAD/processes",
  "commit": "4d2559cf9c04d0133c97d7c897f19a14acb9eace",
  "manifest": {
    "name": "processes",
    "title": "Processes",
    "description": "What is running, busiest first, with its memory; type :3000 to see what listens on a port. Kill a process or open it in Activity Monitor.",
    "version": "0.1.0",
    "icon": {
      "tile": {
        "glyph": "󰍛",
        "bg": "slate"
      }
    },
    "author": "pal",
    "repo": "bundled",
    "license": "MIT",
    "settings": [
      {
        "kind": "boolean",
        "id": "include_system",
        "label": "System processes",
        "text": "List system processes too (pid below 100, and kernel threads on Linux)",
        "default": false
      }
    ],
    "store": {
      "tagline": "What is running, busiest first, and who holds a port",
      "category": "system",
      "features": [
        "Every process sorted by CPU then memory, with its pid and memory, busy ones tagged with their CPU share",
        "Search by name or pid; `:3000` lists what listens on that port, `:` alone every listener",
        "Filters for your own processes, the top CPU users and the top memory users",
        "Kill or force kill (`cmd+shift+k`) after a confirm, and the list stays open",
        "App icons for processes that belong to an app; `cmd+o` finds the process in Activity Monitor",
        "`cmd+i` shows the process as a page: where it runs from, its CPU, memory and pid large, then parent and user"
      ],
      "permissions": [
        "automation",
        "accessibility"
      ],
      "platforms": [
        "macos",
        "linux"
      ],
      "screenshots": [
        {
          "file": "1-list.png",
          "caption": "Processes by CPU, then memory: a busy one wears its share as a tag, its pid under the name and its memory on the right"
        },
        {
          "file": "2-port.png",
          "caption": "Type : for every TCP listener: the port as a tag, beside the process that holds it"
        },
        {
          "file": "3-confirm.png",
          "caption": "Enter kills, but asks first: SIGTERM here, Force kill's SIGKILL behind cmd+shift+k"
        },
        {
          "file": "4-actions.png",
          "caption": "Kill, Force kill, Copy PID or open the process in Activity Monitor"
        },
        {
          "file": "5-detail.png",
          "caption": "A process's detail (cmd+I): where it runs from, then its CPU, memory and pid large"
        }
      ],
      "actions": [
        {
          "title": "Kill",
          "description": "SIGTERM, after a confirm.",
          "keys": "enter"
        },
        {
          "title": "Force kill",
          "description": "SIGKILL, after a confirm.",
          "keys": "cmd+shift+k"
        },
        {
          "title": "Copy PID",
          "keys": "cmd+c"
        },
        {
          "title": "Open in Activity Monitor",
          "description": "macOS: brings Activity Monitor up with the pid in its search field.",
          "keys": "cmd+o"
        }
      ]
    },
    "palettes": {
      "processes": {
        "title": "Processes",
        "kind": "input",
        "description": "Every process, by CPU then memory.",
        "keys": [
          {
            "keys": "enter",
            "title": "Kill (asks first)"
          },
          {
            "keys": "cmd+shift+k",
            "title": "Force kill (asks first)"
          },
          {
            "keys": "cmd+c",
            "title": "Copy the pid"
          },
          {
            "keys": "cmd+o",
            "title": "Open in Activity Monitor (macOS)"
          }
        ]
      }
    }
  },
  "playable": false,
  "updated_at": "2026-11-02T04:38:11Z",
  "url": "https://pal.cagdas.io/extensions/processes",
  "tagline": "What is running, busiest first, and who holds a port",
  "category": "system",
  "screenshots": [
    "https://pal.cagdas.io/extensions/processes/screenshots/1-list-dark.png",
    "https://pal.cagdas.io/extensions/processes/screenshots/1-list.png",
    "https://pal.cagdas.io/extensions/processes/screenshots/2-port-dark.png",
    "https://pal.cagdas.io/extensions/processes/screenshots/2-port.png",
    "https://pal.cagdas.io/extensions/processes/screenshots/3-confirm-dark.png",
    "https://pal.cagdas.io/extensions/processes/screenshots/3-confirm.png",
    "https://pal.cagdas.io/extensions/processes/screenshots/4-actions-dark.png",
    "https://pal.cagdas.io/extensions/processes/screenshots/4-actions.png",
    "https://pal.cagdas.io/extensions/processes/screenshots/5-detail-dark.png",
    "https://pal.cagdas.io/extensions/processes/screenshots/5-detail.png"
  ],
  "panel_screenshots": [
    "https://pal.cagdas.io/extensions/processes/screenshots/1-list.png",
    "https://pal.cagdas.io/extensions/processes/screenshots/2-port.png",
    "https://pal.cagdas.io/extensions/processes/screenshots/3-confirm.png",
    "https://pal.cagdas.io/extensions/processes/screenshots/4-actions.png",
    "https://pal.cagdas.io/extensions/processes/screenshots/5-detail.png"
  ],
  "bar_screenshots": [],
  "panel_screenshots_dark": [
    "https://pal.cagdas.io/extensions/processes/screenshots/1-list-dark.png",
    "https://pal.cagdas.io/extensions/processes/screenshots/2-port-dark.png",
    "https://pal.cagdas.io/extensions/processes/screenshots/3-confirm-dark.png",
    "https://pal.cagdas.io/extensions/processes/screenshots/4-actions-dark.png",
    "https://pal.cagdas.io/extensions/processes/screenshots/5-detail-dark.png"
  ],
  "bar_screenshots_dark": [],
  "has_bar": false,
  "bar_items": [],
  "has_links": false,
  "links": [],
  "multi": false,
  "has_readme": true
}
