Portál AbcLinuxu, 9. května 2025 19:30
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.