#!/bin/sh # pspro: ps facil de usar # # Copyright (C) 2000: Manel Marin # Licencia: GNU GPL versión 2 o posterior # = codigo fuente libre (y gratis ;-) #------------------------------------------------------------------------------ ##TODO: ##una sola tecla ##su si no eres owner (y pida passwd) ##elegir modo como parametro de arranque default="" #Restablezco atributos y color predeterminados c="" #Pongo en video inverso y color celeste b="" #Restablezco atributos y pongo color blanco opciones=f a="" x="x" estado="pspro ps facil de usar: versión 1.01 por Manel Marin, licencia GNU GPL" while true do clear #clear consume un numero PID echo if [ "$carga" ] then echo "Carga 1 2 3 usuarios/procesos PID: --- `cat /proc/loadavg` ---" echo fi echo "(ps $opciones$a$r$x)" ps $opciones$a$r$x echo echo "${b}\ MOSTRAR: sistem${c}A${b}/tus procesos, con terminal/${c}X${b} todos,\ ${c}R${b}unning, ${c}C${b}arga" echo "\ FORMATO: ${c}U${b}suarios, ${c}L${b}argo, ${c}ME${b}moria, ${c}J${b}obs,\ ${c}S${b}eñal, ${c}V${b}m, ${c}N${b}ormal" echo "\ ENVIAR SEÑAL: ${c}T${b}erminar, ${c}K${b}ill (no ignorable)\ Refrescar:${c}ENTER${b}, Salir:${c}Q${b}${default}" if [ "$estado" ] then echo echo "$estado" estado="" fi read modo pid case "$modo" in a|A) if [ "$a" == "" ] then a=a; x=x; r="" else a="" fi ;; x|X) if [ "$x" == "" ] then x=x else x="" fi ;; r|R) if [ "$r" == "" ] then r=r else r="" fi ;; c|C) if [ "$carga" == "" ] then carga=si else carga="" fi ;; n|N) opciones=f;; u|U) opciones=fu;; l|L) opciones=fl;; m|M) opciones=fm;; j|J) opciones=fj;; s|S) opciones=fs;; v|V) opciones=fv;; q|Q) exit;; t|T) if [ "$pid" == "" ] then echo -n "(puedes usar: t PID) PID para SIGTERM: " read pid fi if [ "$pid" ] then resultado="`kill $pid 2>&1`" if [ "$resultado" == "" ] then resultado=OK! fi estado="kill $pid >> \"$resultado\"" fi ;; k|K) if [ "$pid" == "" ] then echo -n "(puedes usar: k PID) PID para SIGKILL: " read pid fi if [ "$pid" ] then resultado="`kill -9 $pid 2>&1`" if [ "$resultado" == "" ] then resultado=OK! fi estado="kill -9 $pid >> \"$resultado\"" fi ;; "") ;; # ENTER = refresco e|E) estado="\ Memoria: `cat /proc/meminfo` " ;; *) estado="Comando no reconocido: \"$modo $pid\"" ;; esac done