pluginagentmarketplace/custom-plugin-bash-shell · Archived

process-management

Production-grade process management - jobs, signals, cron, systemd

First seen Jun 7, 2026

Installation

$ npx skills add pluginagentmarketplace/custom-plugin-bash-shell --skill process-management

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from pluginagentmarketplace/custom-plugin-bash-shell.

npx skills add pluginagentmarketplace/custom-plugin-bash-shell

Browse all from pluginagentmarketplace/custom-plugin-bash-shell

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 1
License LICENSE
Default branch main
Open issues 0
Status Archived

Skill metadata

Parsed from SKILL.md frontmatter.

Version2.0.0

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 4,462 B
  • docs SUMMARY.md 92 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 1 installs

SKILL.md

Process Management Skill

Master process control, signals, scheduling, and monitoring

Learning Objectives

After completing this skill, you will be able to:

  • List and inspect running processes
  • Send and handle signals properly
  • Run background jobs and daemons
  • Schedule tasks with cron and systemd
  • Monitor system resources

Prerequisites

  • Bash basics
  • Linux system fundamentals
  • User permissions understanding

Core Concepts

1. Process Inspection

# List processes
ps aux                      # All processes
ps -ef                      # Full format
ps --forest                 # Tree view

# Find processes
pgrep -f "pattern"          # PID by pattern
pidof nginx                 # PID by name
ps aux | grep '[n]ginx'     # Grep trick

# Resource usage
top                         # Real-time view
htop                        # Better interface

2. Signal Handling

# Send signals
kill PID                    # SIGTERM (15)
kill -9 PID                 # SIGKILL (9)
kill -HUP PID               # SIGHUP (1)
killall nginx               # By name
pkill -f "pattern"          # By pattern

# Handle signals in scripts
trap 'cleanup' EXIT
trap 'echo "Interrupted"' INT

cleanup() {
    rm -f "$TEMP_FILE"
    exit 0
}

3. Background Jobs

# Background execution
command &                   # Run in background
nohup command &             # Immune to hangup
nohup cmd > log.txt 2>&1 &  # With logging

# Job control
jobs                        # List jobs
fg %1                       # Foreground job 1
bg %1                       # Background job 1
disown                      # Detach from shell

4. Cron Scheduling

# Cron format
# ┌─── minute (0-59)
# │ ┌─── hour (0-23)
# │ │ ┌─── day of month (1-31)
# │ │ │ ┌─── month (1-12)
# │ │ │ │ ┌─── day of week (0-6)
# * * * * * command

# Examples
0 * * * *     # Every hour
*/15 * * * *  # Every 15 minutes
0 0 * * *     # Daily at midnight
0 0 * * 0     # Weekly on Sunday

# Edit crontab
crontab -e
crontab -l

Common Patterns

Daemon Pattern

start_daemon() {
    nohup ./daemon.sh >> /var/log/daemon.log 2>&1 &
    echo "$!" > /var/run/daemon.pid
    disown
}

stop_daemon() {
    if [[ -f /var/run/daemon.pid ]]; then
        kill "$(cat /var/run/daemon.pid)"
        rm /var/run/daemon.pid
    fi
}

Cron with Locking

# Prevent overlapping runs
0 * * * * /usr/bin/flock -n /var/lock/job.lock /path/to/script.sh

Signal Handler

#!/usr/bin/env bash
set -euo pipefail

cleanup() {
    echo "Cleaning up..."
    rm -f "$TEMP_FILE"
}

trap cleanup EXIT INT TERM

# Main logic
TEMP_FILE=$(mktemp)
# ... work with temp file

Signal Reference

Signal Number Default Common Use
SIGHUP 1 Terminate Reload config
SIGINT 2 Terminate Ctrl+C
SIGQUIT 3 Core dump Ctrl+\
SIGKILL 9 Terminate Force kill
SIGTERM 15 Terminate Graceful stop
SIGSTOP 19 Stop Pause
SIGCONT 18 Continue Resume

Anti-Patterns

Don't Do Why
kill -9 first kill -TERM first Allow cleanup
Kill PID 1 Never Crashes system
Cron without logs Log all output Debug issues

Practice Exercises

  1. Process Monitor: Script to monitor a process
  2. Daemon Script: Create a proper daemon
  3. Cron Job: Schedule a backup job
  4. Signal Handler: Graceful shutdown script

Troubleshooting

Common Errors

Error Cause Fix
No such process Already dead Check with ps
Operation not permitted Wrong owner Use sudo
Cron not running PATH issues Use full paths

Debug Techniques

# Check if process exists
ps -p $PID

# Debug cron
grep CRON /var/log/syslog

# Trace process
strace -p $PID

Resources