AgentSkillsCN

process-manage

管理进程(列出、查找、终止、监控资源使用情况)。

SKILL.md
--- frontmatter
name: process-manage
description: Process management (list, find, kill, monitor resource usage).
tags: [process, system, cross-platform]

Process Management

Monitor and manage system processes. Cross-platform (macOS, Linux).

List Processes

All processes:

code
exec: ps aux | head -30

By name:

code
exec: ps aux | grep -i "PROCESS_NAME" | grep -v grep

By PID:

code
exec: ps -p PID -o pid,ppid,user,%cpu,%mem,start,command

Tree view (Linux):

code
exec: ps auxf | head -40

Tree view (macOS):

code
exec: pstree 2>/dev/null || ps -ef | head -30

Find Process

By name (get PIDs):

code
exec: pgrep -l "PROCESS_NAME"

By port:

code
exec: lsof -i :PORT_NUMBER

By user:

code
exec: ps -u USERNAME -o pid,%cpu,%mem,command | head -20

Resource Usage

Top CPU consumers:

code
exec: ps aux --sort=-%cpu | head -11

Top memory consumers:

code
exec: ps aux --sort=-%mem | head -11

System load:

code
exec: uptime

One-shot top snapshot:

code
exec: top -bn1 | head -20 2>/dev/null || top -l 1 | head -20

Kill Processes

Kill by PID:

code
exec: kill PID

Force kill:

code
exec: kill -9 PID

Kill by name:

code
exec: pkill "PROCESS_NAME"

Kill all by name:

code
exec: pkill -f "PATTERN"

Kill by port:

code
exec: lsof -ti :PORT_NUMBER | xargs kill -9 2>/dev/null && echo "Killed" || echo "No process on port PORT_NUMBER"

Memory & Swap

Linux:

code
exec: free -h

macOS:

code
exec: vm_stat | perl -ne '/page size of (\d+)/ and $size=$1; /Pages\s+(\w+):\s+(\d+)/ and printf("%-16s %6.1f MB\n", "$1:", $2 * $size / 1048576)'

Cross-platform (Python fallback):

code
exec: python3 -c "import shutil; t,u,f=shutil.disk_usage('/'); print(f'Disk: {u//(1<<30)}GB used / {t//(1<<30)}GB total / {f//(1<<30)}GB free')"

Disk I/O

Linux:

code
exec: iostat -xd 1 2 2>/dev/null | tail -20

macOS:

code
exec: iostat -w 1 -c 2 2>/dev/null

Open Files

By process:

code
exec: lsof -p PID | head -30

Open file count by process:

code
exec: lsof | awk '{print $1}' | sort | uniq -c | sort -rn | head -15

Service Management (Linux systemd)

Status:

code
exec: systemctl status SERVICE_NAME

Start / stop / restart:

code
exec: sudo systemctl start SERVICE_NAME
code
exec: sudo systemctl stop SERVICE_NAME
code
exec: sudo systemctl restart SERVICE_NAME

List running services:

code
exec: systemctl list-units --type=service --state=running

Crontab (System Cron)

List user crontab:

code
exec: crontab -l 2>/dev/null || echo "No crontab for current user"

Notes

  • ps aux works on both macOS and Linux but output columns may differ slightly.
  • top flags differ: Linux uses -b -n 1, macOS uses -l 1.
  • free is Linux-only; use vm_stat or sysctl on macOS.
  • systemctl is Linux-only (systemd); macOS uses launchctl.
  • lsof is available on both platforms and very useful for port/file investigation.
  • Some operations (kill, systemctl) may require sudo.