Portál AbcLinuxu, 5. listopadu 2025 13:48
kill -- je neuvěřitelná nesystémová prasárna! Hezky ty uživatele ukončete správnou cestou! A nezapomeňte, že ten uživatel může být i připojení connection poolu, takže doba připojení dva roky může být plně v pořádku a ukončení takového spojení povede jen k dalšímu overheadu jak na straně databáze (tam hlavně), ale i na straně aplikačního serveru. Kamarádem Vám budiž dokumentace k systémovému pohledu V$SESSION a příkaz ALTER SYSTEM KILL SESSION .... Hodně štěstí!
./script_name sleep 00010000
#!/bin/bash
# pro zasilani kill signalu odkomentovat radek "kill -9 ${PID[$run]}"
# $1 = regxp procesu
# $2 = max cas procesu ve tvaru DDHHMMSS
#set -x
ETIME=`ps -e -o etime= -o comm= | egrep "$1" | gawk '{print $1}'`
subscript=0
pid=`ps -e -o pid= -o comm= | egrep "$1" | gawk '{print $1}'`
for i in $pid; do
PID[$subscript]="$i"
subscript=$((subscript+1))
done
run=0
for i in $ETIME; do
if [[ `echo "$i" | wc -m` == 6 ]]; then
TIME="00`date --date="00:${i}" +'%H%M%S'`"
elif [[ `echo "$i" | wc -m` == 9 ]]; then
TIME="00`date --date="$i" +'%H%M%S'`"
elif [[ `echo "$i" | wc -m` == 12 ]]; then
DAY=`echo "$i" | gawk -F - '{print $1}'`
time=`echo "$i" | gawk -F - '{print $2}'`
TIME="${DAY}`date --date="$time" +'%H%M%S'`"
fi
if [[ "$TIME" > "$2" ]]; then
echo $TIME
echo ${PID[$run]}
# kill -9 ${PID[$run]}
fi
run=$((run+1))
done
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.