Kill gráfico com gdialog
Tendo como base o script do Rodrigo Moura Bittencourt, posto aqui um script que fiz onde
você seleciona o processo e o programa o finaliza.
As diferenças deste para o do Rodrigo é que este você seleciona somente um processo de
cada vez, e o finaliza. Outra diferença é que ele ordena a lista de processos de acordo
com o nome do processo, bem como faz a seleção automática do usuário que está logado.
Desculpem qualquer erro... sou apenas um iniciante...
você seleciona o processo e o programa o finaliza.
As diferenças deste para o do Rodrigo é que este você seleciona somente um processo de
cada vez, e o finaliza. Outra diferença é que ele ordena a lista de processos de acordo
com o nome do processo, bem como faz a seleção automática do usuário que está logado.
Desculpem qualquer erro... sou apenas um iniciante...
Descrição
Tendo como base o script do Rodrigo Moura Bittencourt, posto aqui um script que fiz onde
você seleciona o processo e o programa o finaliza.
As diferenças deste para o do Rodrigo é que este você seleciona somente um processo de
cada vez, e o finaliza. Outra diferença é que ele ordena a lista de processos de acordo
com o nome do processo, bem como faz a seleção automática do usuário que está logado.
Desculpem qualquer erro... sou apenas um iniciante...
você seleciona o processo e o programa o finaliza.
As diferenças deste para o do Rodrigo é que este você seleciona somente um processo de
cada vez, e o finaliza. Outra diferença é que ele ordena a lista de processos de acordo
com o nome do processo, bem como faz a seleção automática do usuário que está logado.
Desculpem qualquer erro... sou apenas um iniciante...
#!/bin/bash
#Produzido por RODRIGO MOURA BITTENCOURT
#Email spy_rombit@yahoo.com.br
#Alterado por MARCELO ARAÚJO
#Email marcelonx@gmail.com
#Pergunta ao usuario se ele deseja continuar
#e guarda a reposta na variavel $resp
gdialog --yesno "Você deseja encerrar algum processo?" 25 30
resp=$?
if [ "$resp" = "1" ]
then
exit
else
USERNAME=`whoami`
#Lista os procesos e guarda em um arquivo chamado lista
ps -u $USERNAME >lista
#Ele trata este arquivo através do comando awk,
#ele apenas imprime na variavel a coluna 1 e 4
# acrescenta a palavra on na frente e ordena a lista
var=`cat lista | sort -k 3 |awk '{print $1 " " $4 " " "on" }'`
# Grava na variavel $pid o numero que o usuario selecionou.
pid=$(gdialog --radiolist "teste" 0 0 0 `for i in $var;do echo " $i " ; done` 2>&1)
if [ $? -eq 0 ]
then
#Mata o processo selecionado
kill -9 $pid
gdialog --yesno "Deseja continuar?" 30 30 2>&1
respo=$?
if [ "$resp" = "0" ]
then
rm lista
sh xkill
else
exit
fi
fi
fi
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