Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- uporabnik=$(whoami)
- stevilo=$(tput line)
- stevilke='^[0-9]+$'
- prvo=$1
- line=""
- #http://www.linuxquestions.org/questions/linux-newbie-8/how-to-get-cpu-usage-of-a-process-63726/ KORISTNA
- while getopts ":-u:-n:" argu; do
- case $argu in
- u)
- if id "$OPTARG" >/dev/null 2>&1;then
- uporabnik=$OPTARG
- else
- echo "Napaka: neznan uporabnik.">&2
- exit 2
- fi
- ;;
- n)
- if ! [[ "${OPTARG}" =~ $stevilke ]]; then
- echo "Napaka: argument ni številka.">&2
- exit 3
- else
- stevilo="${OPTARG}"
- fi
- ;;
- ?)
- echo "Napaka: neznano stikalo -$OPTARG.">&2
- exit 4
- ;;
- esac
- done
- function procesi(){
- echo "UPORABNIK PID UKAZ PPID (UKAZ) P CPU\n"
- ps -u $uporabnik -o user,pid,comm,ppid --no-headers --sort=-start_time| head -n $(($stevilo)) | while read line; do
- pid=$(echo $line | cut -d" " -f2)
- ppid=$(ps h -o ppid -p $pid )
- imepar=$(ps h -o comm= $ppid)
- pri=$(ps h -o pri= $pid)
- pcpu=$(ps h -o pcpu= $pid)
- if [[ ${#imepar} -lt 30 ]];then
- echo "$line ($imepar) $pri $pcpu\n"
- else
- echo "$line () $pri $pcpu\n"
- fi
- done
- }
- napaka=""
- while true;do
- echo "$napaka"
- echo ""
- echo -en $(procesi) | head -n $((stevilo-3)) | column -ts " "
- setterm -cursor off gas
- tput cup 0 0
- read -t 10 -s -n 1 vnos
- case "$vnos" in
- u)
- setterm -cursor on
- read -s vnos2;
- if id "$vnos2" >/dev/null 2>&1;then
- uporabnik="$vnos2"
- else
- napaka="Napaka: neznan uporabnik."
- fi
- ;;
- n)
- read -s vnos2;
- if ! [[ "${vnos2}" =~ $stevilke ]]; then
- napaka="Napaka: argument ni številka."
- else
- stevilo="${vnos2}"
- fi
- ;;
- k)
- read -s vnos2;
- if [[ $vnos2 =~ $re ]]; then
- kill -2 $OPTARG
- else
- napaka="Napaka: argument ni številka."
- echo -en $(procesi)| column -ts " "
- exit 3
- fi
- ;;
- q)
- tput reset
- echo -en $(procesi) | head -n $((stevilo - 3)) | column -ts " "
- exit 0;
- ;;
- \?)
- napaka="Napaka: neznano stikalo -$vnos."
- echo -en $(procesi)| column -ts " "
- exit 4
- ;;
- esac
- tput reset
- #read spre
- done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement