Updated framework
This commit is contained in:
@@ -5,39 +5,110 @@ set -e
|
||||
# ----------------------------------------------------------------------------------------------
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
|
||||
source "$SCRIPT_DIR/../Master.conf"
|
||||
source "$SCRIPT_DIR/../common.sh"
|
||||
|
||||
# Load central config
|
||||
load_master_conf
|
||||
|
||||
# Parse CLI args (supports --dry-run)
|
||||
parse_args "$@"
|
||||
|
||||
# Functions
|
||||
# STATUS MODE
|
||||
if [[ "$SHOW_STATUS" == true ]]; then
|
||||
echo
|
||||
echo "=================================================="
|
||||
echo " ℹ️ USER SCRIPTS STATUS"
|
||||
echo "--------------------------------------------------"
|
||||
echo " 🔍 Target: /tmp/user.scripts processes"
|
||||
echo " 🧪 Dry Run: $DRY_RUN"
|
||||
echo "=================================================="
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# HEADER
|
||||
echo
|
||||
echo "============================================================"
|
||||
echo " 🚀 USER SCRIPTS STOP STARTING"
|
||||
echo "------------------------------------------------------------"
|
||||
echo " 🔍 Target: User Scripts Plugin processes"
|
||||
echo " 🧪 Dry Run: $DRY_RUN"
|
||||
echo "============================================================"
|
||||
|
||||
log "ℹ️ Scanning for User Scripts processes"
|
||||
|
||||
# FUNCTIONS
|
||||
get_user_script_pids() {
|
||||
/usr/bin/ps -eo pid,cmd | grep "/tmp/user.scripts" | grep -v grep | awk '{print $1}'
|
||||
}
|
||||
|
||||
stop_user_scripts() {
|
||||
# Get PIDs of running user scripts
|
||||
local pids
|
||||
pids=$(/usr/bin/ps -eo pid,cmd | grep "/tmp/user.scripts" | grep -v grep | awk '{print $1}')
|
||||
|
||||
if [ -z "$pids" ]; then
|
||||
echo "No running user scripts found."
|
||||
local pids
|
||||
pids=$(get_user_script_pids)
|
||||
|
||||
if [[ -z "$pids" ]]; then
|
||||
info "🟢 No running User Scripts found"
|
||||
return
|
||||
fi
|
||||
|
||||
local count=0
|
||||
|
||||
for pid in $pids; do
|
||||
if [ "$DRY_RUN" = true ]; then
|
||||
echo "[DRY-RUN] Would kill user script with PID $pid"
|
||||
|
||||
if [[ "$DRY_RUN" == true ]]; then
|
||||
warn "🧪 Would kill User Script PID $pid"
|
||||
else
|
||||
echo "Killing user script with PID $pid"
|
||||
kill "$pid"
|
||||
info "🟡 Killing User Script PID $pid"
|
||||
|
||||
if kill "$pid" 2>/dev/null; then
|
||||
info "🟢 Killed PID $pid"
|
||||
else
|
||||
warn "🔴 Failed to kill PID $pid (may already be gone)"
|
||||
fi
|
||||
fi
|
||||
|
||||
count=$((count + 1))
|
||||
done
|
||||
|
||||
echo "All user scripts stopped."
|
||||
if [[ "$DRY_RUN" == true ]]; then
|
||||
warn "🧪 Would stop $count User Script process(es)"
|
||||
else
|
||||
info "🟢 Process cleanup complete ($count process(es) targeted)"
|
||||
fi
|
||||
}
|
||||
|
||||
# MAIN
|
||||
echo "==== User Scripts Stop Script Started: $(date) ===="
|
||||
# EXECUTION
|
||||
START_TIME=$(date +%s)
|
||||
|
||||
stop_user_scripts
|
||||
stop_user_scripts
|
||||
|
||||
END_TIME=$(date +%s)
|
||||
DURATION=$((END_TIME - START_TIME))
|
||||
|
||||
# SUMMARY
|
||||
echo
|
||||
echo "============================================================"
|
||||
|
||||
if [[ "$DRY_RUN" == true ]]; then
|
||||
echo " 🟡 USER SCRIPTS SUMMARY"
|
||||
echo "------------------------------------------------------------"
|
||||
echo " 🔍 Status: 🟡 DRY RUN (no processes killed)"
|
||||
echo " ⏱ Duration: ${DURATION}s"
|
||||
else
|
||||
local remaining
|
||||
remaining=$(get_user_script_pids)
|
||||
|
||||
if [[ -z "$remaining" ]]; then
|
||||
echo " 🟢 USER SCRIPTS SUMMARY"
|
||||
echo "------------------------------------------------------------"
|
||||
echo " 🔍 Status: 🟢 ALL PROCESSES STOPPED"
|
||||
else
|
||||
echo " 🟡 USER SCRIPTS SUMMARY"
|
||||
echo "------------------------------------------------------------"
|
||||
echo " 🔍 Status: 🟡 SOME PROCESSES MAY STILL BE RUNNING"
|
||||
fi
|
||||
|
||||
echo " ⏱ Duration: ${DURATION}s"
|
||||
fi
|
||||
|
||||
echo "============================================================"
|
||||
|
||||
info "ℹ️ User Scripts stop operation complete"
|
||||
Reference in New Issue
Block a user