shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [shell-script] PROBLEMAS AO EXECUTAR SCRIPT


From: MrBiTs
Subject: RE: [shell-script] PROBLEMAS AO EXECUTAR SCRIPT
Date: Fri, 17 Dec 2004 12:17:56 -0200

<QUOTE>
Bom galera eu fiz um scriptzinho (com algumas dicas da lista)para a maquina
voltar a tela de login em "N"
minutos dependendo da escolha do usuario o problema é que ele so funciona se
a janela do "terminal" ou prompt ficar aberta durante toda a sessão como eu
faço para que o script continue rodando quando eu fexar a janela?
olhem o script:

#!/bin/sh

# Este script finaliza a sessão do gnome de acordo com # o tempo escolhido
pelo usuario # cinco minutos antes abre uma janela de alerta # avisando que
o tempo esta acabando

read -p "Em quantos minutos você vai embora? " TEMPO
TIMER=$((TEMPO-5)) ; sleep ${TIMER}m ; ./alerta & sleep 5 ; killall
gnome-session
</QUOTE>

E AES MINA !

Voce vai precisar fazer algumas modificacoes no seu script. Alguns pontos
vao ser considerados

Rode o script em backgroud. A partir do chamador, coloque um & no final da
linha de comando. Por exemplo, se seu chamador é o .bash_profile e vc tem
nele:

/usr/bin/script_que_fecha_janela.sh

a ideia seria modificar um pouco a chamada, copiando o read para o proprio
.bash_profile. Entao, teriamos algo assim:

read -p "Em quantos minutos voce vai embora ? " TEMPO
nohup /usr/bin/script_que_fecha_janela.sh $TEMPO &

E o seu script_que_fecha_janela.sh teria algo como:

TEMPO=$1
TIMER=$((TEMPO-5)) ; sleep ${TIMER}m ; ./alerta & sleep 5 ; killall
gnome-session

Ai entramos em outro problema. Se o usuario abrir varias janelas, voce vai
ter varias instancias do scritp_que_fecha_janela.sh rodando. Entao, será
necessario implementar um controle do tipo

if ! ps -efwww | grep script_que_fecha_janela.sh | grep -v grep > /dev/null
; then
    read -p "Em quantos minutos voce vai embora ? " TEMPO
    nohup /usr/bin/script_que_fecha_janela.sh $TEMPO &
fi

Acredito que existam outras solucoes mais elegantes, mas eu seguiria por
esse caminho.

[]'s



reply via email to

[Prev in Thread] Current Thread [Next in Thread]