From e1c2705fdd527498d5f4e0a785d484faaecf9c2c Mon Sep 17 00:00:00 2001 From: fatalerrors Date: Thu, 5 Mar 2026 11:20:23 +0100 Subject: [PATCH] added ppu and ppn --- profile.d/help.sh | 2 ++ profile.d/processes.sh | 37 +++++++++++++++++++++++++++++++++++-- 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/profile.d/help.sh b/profile.d/help.sh index 5e92f2f..66a64b4 100644 --- a/profile.d/help.sh +++ b/profile.d/help.sh @@ -49,6 +49,8 @@ ku Kill process owned by users in parameter mcd Create a directory and go inside meteo Display curent weather forecast for the configured city ppg Display process matching the given parameter +ppn Display process matching the exact process name given in parameter +ppu Display processes owned by the given user rain Let the rain fall rmhost Remove host (IP and/or DNS name) for current known_host rmspc Remove spaces from all the files in working directory diff --git a/profile.d/processes.sh b/profile.d/processes.sh index f23f252..df10e12 100644 --- a/profile.d/processes.sh +++ b/profile.d/processes.sh @@ -43,6 +43,39 @@ ppg() } export -f ppg +# ------------------------------------------------------------------------------ +# List processes owned by a specific user +# ------------------------------------------------------------------------------ +ppu() +{ + if [[ -z "$1" ]]; then + disp E "Usage: ppu " + return 1 + fi + + # -u lists processes for a specific user + # -o provides a clean, standard output format + ps -u "$1" -o pid,user,%cpu,%mem,start,time,command +} +export -f ppu + +# ------------------------------------------------------------------------------ +# List processes by exact command name (no path/parameters) +# ------------------------------------------------------------------------------ +ppn() +{ + if [[ -z "$1" ]]; then + disp E "Usage: ppn " + return 1 + fi + + # -e: select all processes + # -o: specify custom output columns (PID and Command name) + # grep -w: ensures exact word matching so 'bash' doesn't match 'dbash' + ps -eo pid,comm | grep -w "$1" +} +export -f ppn + # ------------------------------------------------------------------------------ # Get PID list of the given process name # ------------------------------------------------------------------------------ @@ -63,7 +96,7 @@ gpid() export -f gpid # ------------------------------------------------------------------------------ -# Kill all processes owned by the given users +# Kill all processes owned by the given users (kill user) # ------------------------------------------------------------------------------ ku() { @@ -74,7 +107,7 @@ ku() export -f ku # ------------------------------------------------------------------------------ -# Kill all children of a process then the process +# Kill all children of a process then the process (kill tree) # ------------------------------------------------------------------------------ kt() {