[1] Comentário enviado por
Smithux em 06/06/2009 - 14:42h:
Marcelo ficou bem legal! ;)
Agora, aqui vai umas pequenas modificações que fiz que fica mais interessante a execução do programa.
Ah! E aconselho que você dê uma olhadinha no Xdialog e também no Zenity, são bem mais dinâmicos e mais interessantes que o Gdialog.
Abraços!
#!/bin/sh
# Arquivo que guardará a lista de processos
LISTA="/tmp/lista-procs"
# Criando uma função para executar os processos necessários para matar um processo...
function gKill(){
USERNAME=`whoami`
ps -u $USERNAME > $LISTA
PROCS=`cat $LISTA | sort -k 3 | awk '{print $1 " " $4 " " "on" }'`
PID=$(gdialog --radiolist "Processos" 0 0 0 `for i in $PROCS;do echo " $i " ; done` 2>&1)
if [ $? -eq 0 ]; then
kill -9 $PID
gdialog --yesno "Deseja continuar?" 30 30 2>&1
resp=$?
if [ $resp -eq 0 ]; then
rm $LISTA
gKill # Aqui, simplesmente chamamos a função novamente, não sendo necessário reexecutar programa.
else
rm $LISTA
exit
fi
else
rm $LISTA
exit
fi
}
# Aqui inicia o programa
gdialog --yesno "Você deseja encerrar algum processo?" 25 30
resp=$?
if [ $resp -eq 1 ]; then
exit
fi
# Se a resposta acima não for '1', então ele executará o que estiver dentro da função que criada
# Não é necessário utilizar o 'else' nesse caso
gKill
[2] Comentário enviado por
marcelonx em 06/06/2009 - 14:53h:
realmente, ficou muito melhor... ontem eu estava tentando colocar como função para não ter que reexecutar o programa, mas acabei não encontrando o que procurava, agora já comecei a sacar como funciona... hehehe