2 Commits

Author SHA1 Message Date
fatalerrors
128cfe8c87 improved upgrade system, version bump 2026-03-05 11:25:05 +01:00
fatalerrors
e1c2705fdd added ppu and ppn 2026-03-05 11:20:23 +01:00
6 changed files with 49 additions and 10 deletions

View File

@@ -7,6 +7,11 @@ Current version from Geoffray Levasseur <fatalerrors@geoffray-levasseur.org>
------------------------------------------------------------------------------
Version history:
------------------------------------------------------------------------------
# 05/03/2026 v3.6.0
Improved utaz to make it multiformat with lot of it
Introduced ppu and ppn
Improved update system
# 04/03/2026 v3.5.0
rain has now configurable speed and color
showinfo adapted to fastfetch, replacing neofetch

View File

@@ -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

View File

@@ -43,6 +43,39 @@ ppg()
}
export -f ppg
# ------------------------------------------------------------------------------
# List processes owned by a specific user
# ------------------------------------------------------------------------------
ppu()
{
if [[ -z "$1" ]]; then
disp E "Usage: ppu <username>"
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 <command_name>"
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()
{

View File

@@ -47,7 +47,7 @@ check_updates()
# Quiet mode is mostly used internally when profile_upgrade is called
quiet=1
fi
disp I "Checking for updates..."
[[ -n $quiet ]] && disp I "Checking for updates..."
local vfile="/tmp/version"
wget "$UPDT_URL/version" -O $vfile >/dev/null 2>&1 || {
disp E "Can't download version file, impossible to proceed!"
@@ -61,7 +61,7 @@ check_updates()
[[ $quiet ]] && disp I "You should upgrade to last version when possible."
result=1
else
disp I "Your version is up-to-date."
[[ -n $quiet ]] && disp I "Your version is up-to-date."
result=0
fi
rm -f $vfile
@@ -77,12 +77,10 @@ check_updates()
# ------------------------------------------------------------------------------
profile_upgrade()
{
check_updates -q
local need_update=$?
[[ $need_update -ne 1 ]] && {
if check_updates -q; then
disp "No update available."
return 0
}
fi
if [[ -s $MYPATH/profile.sh ]]; then
disp E "Installation path detection failed, cannot upgrade automatically."

View File

@@ -147,7 +147,7 @@ done
# Interactive shell detection, two methods available each one of those might have different result
# depending on distribution
#shopt -q login_shell && INTERACTIVE=1
[[ $- == *i* ]] && INTERACTIVE=1
[[ $- == *i* ]] && export INTERACTIVE=1
if [[ $INTERACTIVE ]]; then
# For compiling (as we often compile with LFS/0linux...)
@@ -184,6 +184,7 @@ if [[ $INTERACTIVE ]]; then
# Set default language
setfr
showinfo
check_updates -q
disp I "Profile version $PROFVERSION chargé..."
fi

View File

@@ -1 +1 @@
3.4.0
3.6.0